第3章XML文件的设计-精品文档

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

命名空间



XML命名空间是XML解决元素多义性和名字冲突问题 的方案。 W3C组织的推荐用书对XML命名空间的解释是: “XML命名空间是命名的汇集,它由URI(统一资源 标识)确定,在XML文件中作为元素标识和属性名使 用”。 命名空间是名称上相关的一组名称的汇集,在同一空 间中每一个名称都必须唯一。例如,可以将某个班的 学生姓名作为一个命名空间,也可以将某企业的产品 名称作为一个命名空间。 命名空间表示了名称的来源和使用范围。通过命名空 间可以区分来自不同的XML应用但具有相同名称的标 识,可以把来自某种XML应用的相关元素和属性集合 在一起,以方便软件识别和处理。
文件是叙述性的,并有混合内容。 需要约束元素之间的关系,特别是子元 素的顺序关系,而不是元素本身的文本 内容。 需要使用实体。 XML文件的使用者对使用的DTD要达成 一致。

XML Schema适用的情形
需要定义数据类型,以便约束元素的文 本内容及内部结构。 元素下面的子元素顺序并不重要,重要 的是数量。 标记约束不限于父子关系,需要考虑子 孙关系。 跨越多个文件,名称空间前缀不一致。

3.2 命名空间
3.2.1 命名空间的概念 命名空间是W3C推荐标准提供的 一种统一命名XML文档中的元素和 属性的机制。使用命名空间可以明 确标识和组合XML文档中来自来自 不同标记词汇表的元素和属性,避 免了名称之间冲突而带来的问题。
1、 XML 文档在table元素中携带了水果的信息: <table> <g> Apples</g> <g> Bananas</g> </table> 2、 XML 文档在table元素中携带了桌子的信息 (家具,不能吃的哦): <table> <name>African Coffee Table</name> <width>80</width> <length>120</length> </table>
明语法格式为: <元素名xmlns="URI">
声明有前缀的名称空间
对于有前缀名的命名空间,如果两 个名称空间的名字不相同,即使前 缀名相同,也是不同的名称空间。 例:xmlns:a=“xiao zhang” xmlns:a=“Xiao zhang” xmlns:b=“xiao zhang”

还可以隐式声明命名空间,即省略掉 冒号和命名空间前缀。如图3-6所示。

namespaces通过给标识名称加一个网址(URL)定位的 方法来区别这些名称相同的标识。 命名空间一般用属性xmlns来声明,声明的语法如下: <元素名 xmlns:前缀名=‘URL’> – xmlns:命名空间属性名,是声明命名空间必需的 属性。 – prefix:命名空间的前缀,它的值不能为XML。在引 用此命名空间中的名称时,需要在名称前加“prefix: ”。 – URI:统一资源标示符(Uniform Resource Identifier),是一个标识网络资源的字符串。最普通 的URI应该是统一资源定位符(Uniform Resource Locator ,URL),URL用于标识网络主机的地址。 另一个不常用的URI是通用资源名字(Universal Resource Name ,URN),这是一个相对固定的地 址。
如 : x m l n s : r i v e r = ” h t t p : / / w w w . m y s e r v e r . c o m / ”
x m l n s :
n a m e
=

U R I

( 1 )
( 2 )
( 3 ) ( 4 )
( 5 )
( 4 )
<xmlns:xsd=“w3.org/2019/XMLSchema”> <xsd:element name=“name”> 在名称空间的声明中,相对URI已被弃用。
第3章XML文件的设计
3.1 XML文档与其结构的匹配 3.2 命名空间 3.3 XML文档的有效性验证
3.1 XML文档与其结构的匹配 XML:文档的生成 第一步:确定各种元素 第二步:根据各元素之间的关系生成结 构树 第三步:根据结构树生成XML Schema 第四步:XML文档的生成
DTD适用的情形
wk.baidu.com
使用命名空间:
一、XML文档在table元素中携带了信息: <h:table xmlns:h=“w3.org/TR/html4/”> <h:tr> <h:td>Apples</h:td> <h:td>Bananas</h:td> </h:tr> </h:table> 二、XML文档携带了家具table的信息: <f:table xmlns:f="w3schools/furniture"> <f:name>African Coffee Table</f:name> <f:width>80</f:width> <f:length>120</f:length> </f:table>
3.2.2 如何声明命名空间 通常使用一个简短的代号来代替 URI,这个简短的代号称为命名空间 前缀,由编写XML文档的人员自由决 定。前缀只能包含XML标准中规定允 许用作元素和属性名的字符组成,这 包括了英文字母和所有收录在 Unicode中的汉字。,命名空间声明 的一般形式如图3.5所示。
第一部分是一个关键字xmlns:,第二部分是 命名空间的前缀,第三部分是一个等号,第 四部分是双引号,将第五部分的名空间标识 URI包括起来。需要注意一点,命名空间的前 缀不能叫“xml”,因为在XML中这个字符串是 保留作特殊用途的,如xml:space。
如 : xmlns=” http://www.myserver.com/”
xmlns
=

URI

(1)
(3)
(4)
(5)
(4)
命名空间

引用此名空间中的元素、属性的方法:
前缀名:元素名 或 前缀名:属性名 声明时若前缀名省略,则声明的是缺省 的空间,引用缺省名空间中的元素、属 性时可不加前缀名;默认的命名空间的声
相关文档
最新文档