全局元素就是具有全局作用域的元素。它就是已经声明为主模式的一部分而不是内容模型的一部分的元素。
下列指示信息是为“资源”透视图编写的,但是也适用于其它许多透视图。
要添加全局元素,遵循下列步骤:
- 在 XML 模式编辑器中打开 XML 模式。
- 在“大纲”视图中,选择模式。 整个模式和它的内容应显示在“图”视图中。
- 在“图”视图中,右键单击元素部分并单击添加元素。
- 在“属性”视图中,单击常规选项卡,然后在名称字段中输入全局元素的新名称。
- 通过单击更多按钮并选择适当的类型指定它的类型信息。 元素类型可以引用复杂类型或简单类型。元素或属性可以将它的类型定义为匿名的。不必指定匿名类型,原因是不能直接引用匿名类型。要指定全局元素的类型是匿名的,当选择了用户定义的简单类型或用户定义的复杂类型单选按钮时,单击类型列表中的 **anonymous**。
- (可选)单击其它选项卡。 在此页面中,可以为全局元素指定下列各种值:
- 抽象。如果希望全局元素是抽象的,则单击 true。当将全局元素声明为抽象时,不能在实例文档中使用它。取而代之,全局元素的替换组的一个成员会出现在实例文档中。
- 阻止。此字段确定是否可用从某全局元素派生出来的元素替换该全局元素。
- 最终。此字段确定是否可从此全局元素派生出其它元素。
- 固定/缺省。单击更多按钮并选择固定或缺省单选按钮并指定适当的值。如果选择固定,则全局元素具有固定的值,该值是不能更改的。如果选择缺省,则元素具有缺省值。
- 格式。使用此字段来指示是否必须用名称空间来限定 XML 模式的实例(即与 XML 模式相关联的 XML 文件)中此全局元素的外观。
- 可空。如果不希望全局元素能够具有任何子元素而只具有属性,则选择 true。
- substitutionGroup。替换组允许用其它元素替换元素。
- 单击属性选项卡。 可以使用此页来将属性、属性引用、属性组引用和 any 属性添加至全局元素。
- 属性使属性名称与特定类型和值相关联。要添加属性,在“属性”页中右键单击,然后单击添加属性。 可为属性指定下列值:
- 固定/缺省。单击更多按钮并选择固定或缺省单选按钮并指定适当的值。如果选择固定,则属性具有固定的值,该值是不能更改的。如果选择缺省,则属性具有缺省值。
- 表单。使用此字段来指示是否必须用名称空间来限定 XML 模式的实例中此属性的外观。
- 名称。输入属性的名称。
- 类型。单击更多按钮并选择属性的类型。
- 使用。此字段指示在实例文档中如何使用属性。如果选择可选,则属性可出现一次,但不一定非要出现。如果选择必需,则属性一定要出现一次。如果选择禁止,则属性一定不能出现。注意:如果选择了缺省单选按钮,则必须在此字段中选择可选,否则缺省值将无效。
- 属性引用提供了对全局属性的引用。要添加属性引用,在“属性”页中右键单击,然后单击添加属性引用。 引用全局属性的声明使被引用的属性能够出现在引用声明的上下文中的实例文档中。仅当在文档中别的地方定义了全局属性时,用于添加全局属性的菜单选项才会出现。
- 选择引用,然后从引用列表中选择想要它引用的全局属性。
- 属性组引用提供了对属性组的引用。要添加属性组引用,在“属性”页中右键单击,然后单击添加属性组引用。 引用属性组的声明使被引用的属性组能够出现在引用声明的上下文中的实例文档中。仅当在文档中的其它地方定义了属性组时,才会出现用于添加属性组引用的菜单选项。
- 选择引用,然后从引用列表中选择想要它引用的属性组。
- any 元素使属性能够出现在 any 元素中。要添加 any 属性,在“属性”页中右键单击,然后单击添加 Any 属性。 可为 any 属性指定下面的值:
- 对于 namespace 值,可以选择 ##any(这允许任何名称空间中的任何格式良好的 XML)、##local(这允许未声明为要在名称空间中的任何格式良好的 XML)、##other(这允许不是要定义的目标名称空间类型中的任何格式良好的 XML)或 ##targetNamespace(它是要定义的目标空间类型的缩写)。
- 对于 processContents 值,可以选择 skip(XML
处理器根本不会验证属性内容)、lax(XML 处理器将尽量验证属性内容)或
strict(XML 处理器将验证所有属性内容)。
- 如果想要提供有关此全局元素的任何信息,则单击文档选项卡。 文档中是读者可阅读的资料(例如描述),而应用程序信息页可用来提供有关应用程序的信息。
可以将内容模型添加至全局元素,前者是全局元素内可能包含的任何数据的表示法。有关使用内容模型的更多信息,参阅相关任务。