初学 xml (命名)

文章内容摘自 XML本质论

  • 命名

element attribute 都用 URI (Uniform Resource Identifier,统一资源标识符) 命名。以确保在多种XML格式交互时不出现命名冲突。

URI是指URN (Uniform Resource Name,统一资名称) 或 URL (Uniform Resource Locator,统一资源定位符)。

当 UR I用来区分 XML 名称时,它们被看作是称为 命名空间 ( namespace ) 的抽象名称集的标识符。

构成:本地名和名称空间URI

本地名规范:

NCName :: = ( Letter | '_' ) ( NCNameChar )*
NCNameChar :: = Letter | Digit | '_' | '-' | '.' | CombiningChar | Extender

实例:

本地名为 People, 不附属于任何命名空间

本地名为 People, 命名空间 URI 为 uuid:1c759aed-b748-475c-ab68-10679700c4f2

若其子元素没有显示的声明其命名空间,则默认在父元素的命名空间下,是继承关系。

并且,子元素的归属于最近的父元素的声明的命名空间,

如下,Person 的子元素命名空间是 http://www.example.net/people/schema/

将 Person元素从命名空间删除。

出于语法的便利考虑,XML 支持使用 命名空间 URI 的本地别名化。第个元素都能使用前缀映射到 URI 的命名空间。

声明格式 : xmlns : myns = 'uri-reference'

前缀是 myns ,该别名可用作 element 和 attribute 的前缀。

QName :: (Prefix ':' )? LocalPart

Prefix :: = NCName

LocalPart :: NCName

实例:

逻辑上等同于:

也等同于:

考虑如下情况:

  a d  的命名空间是 http://develop.com 而 b c 的则是 http://example.com

还是有就近原则在里面。

对于 attribute :

 

atr b 不属于任何命名空间,而 atr c 属于 http://y.org

给定的所有 attribute 必须由 命名空间URI/本地名 对惟一命名。

 

 

是不合法的。

这里有一个问题需要说明下。

attribute 的命名空间没有默认值。也就是说一般情况下不会属于任何命名空间,不属于 element 的命名空间。

除非使用 带前缀的命名方式 才能关联到命名空间。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值