xml:base, xml:id, xml:lang, xml:space
根据XML命名空间规范,命名空间http://www.w3.org/XML/1998/namespace被定义为与 xml:前缀绑定。这意味着该命名空间必须与xml:前缀一起使用并为其保留。此命名空间中有四个特性,它们可以是任何XML文档(Schema或实例)中任何XML元素的子元素。
•xml:base(用于设置元素的基URI)
•xml:id(用于指定元素的唯一ID)
•xml:lang(用于标识元素中使用的语言)
•xml:space(用于指定应如何处理元素中的空白)
在Schema视图中,一旦在XML Schema文档中导入XML Namespaces命名空间,就可以在Schema中的任何元素上引用这四个xml:特性。
要在元素上声明这些特性之一,请执行以下操作:
1.为该Schema文档声明XML Namespaces命名空间,并将命名空间绑定到xml:前缀。如果在文档中使用了这四个xml:特性之一,其名称将被扩展以包括正确的命名空间部分。
2.导入XML Namespaces命名空间XMLSpy的验证器将识别命名空间,并使这四个xml:特性作为全局特性可用,可以在该Schema中被引用。
3.将所需的xml:特性作为元素的子级插入。将该特性声明为对“被导入的”全局特性的引用。
声明XML Namespaces命名空间
您可以通过在“Schema设置”对话框中输入XML Namespaces命名空间(http://www.w3.org/XML/1998/namespace)来声明,该Schema所声明的所有命名空间都存储在这里,并可以进行编辑。命名空间必须绑定到xml:前缀。(或者,您可以在文本视图中在xs:schema元素上声明命名空间(带xml:前缀)。)
导入XML Namespaces命名空间
在Schema概览中,为XML Namespaces命名空间创建全局导入声明。为此,请单击“Schema概览”窗口顶部的“插入”或“追加”图标并从弹出的菜单中选择导入。输入XML Namespaces命名空间作为要导入的命名空间。导入声明在文本视图中应如下所示:
<xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/XML/1998/namespace"/>。
添加xml: attribute
在Schema概览中,选择要添加xml:特性的元素,并为其添加特性。在“详细信息”输入助手(参见下方截图)中,单击“name”组合框中的向下箭头并选择所需的xml:特性,例如xml:base。当询问您是否希望引用该全局特性时,单击是。该特性将作为引用添加。
XInclude和xml:base
当XInclude的include元素被替换为include元素的href特性所指定的XML文件时,解析后的XML文档的顶级元素被包含在xml:base 特性中。如果要验证此XML文档,则必须在Schema中相关元素上定义xml:base特性。