XML 架构元素按功能分组:顶级元素、粒子、多个 XML 文档和命名空间、标识约束、属性、命名属性、复杂类型定义和简单类型定义。
-
顶级元素
-
粒子
-
多个 XML 文档和命名空间
-
标识约束
-
属性
-
命名的架构对象
-
复杂类型定义
-
简单类型定义
![](https://i-blog.csdnimg.cn/blog_migrate/e0ea44948e0fb4d95a8582f77c4bbad9.png)
下列元素出现在架构文档的顶级。
元素 | 说明 |
---|---|
定义批注。 | |
声明一个属性。 | |
将一组属性声明归为一组,以便为复杂类型定义将它们并为一个组。 | |
定义一个复杂类型,确定属性集和元素内容。 | |
声明一个元素。 | |
将若干元素声明归为一组,以便将它们当作一个组并入复杂类型定义。 | |
标识其架构组件由包含架构所引用的命名空间。 | |
将指定的架构文档包含在包含架构的目标命名空间中。 | |
包含表示法定义,以描述 XML 文档中非 XML 数据的格式。XML 架构表示法声明是 XML 1.0 NOTATION 声明的一种重构形式。 | |
允许在当前架构中重新定义从外部架构文件中获取的简单和复杂类型、组和属性组。 | |
定义一个简单类型,确定与具有纯文本内容的属性或元素的值有关的信息以及对它们的约束。 |
![](https://i-blog.csdnimg.cn/blog_migrate/e0ea44948e0fb4d95a8582f77c4bbad9.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e0ea44948e0fb4d95a8582f77c4bbad9.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e0ea44948e0fb4d95a8582f77c4bbad9.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e0ea44948e0fb4d95a8582f77c4bbad9.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e0ea44948e0fb4d95a8582f77c4bbad9.png)
下列元素定义架构中的命名构造。其他架构元素通过 QName 引用命名构造。
元素 | 说明 |
---|---|
声明一个属性。 | |
将一组属性声明归为一组,以便为复杂类型定义将它们并为一个组。 | |
定义一个复杂类型,确定属性集和元素内容。 | |
声明一个元素。 | |
将若干元素声明归为一组,以便将它们当作一个组并入复杂类型定义。 | |
指定属性或元素值(或一组值)必须是指定范围内的键。键的范围为实例文档中的包含 element。键必须是唯一的、不为零的并且始终存在。 | |
指定属性或元素值(或一组值)与指定的 key 或 unique 元素的值相对应。 | |
包含表示法定义,以描述 XML 文档中非 XML 数据的格式。XML 架构表示法声明是 XML 1.0 NOTATION 声明的一种重构形式。 | |
定义一个简单类型,确定与具有纯文本内容的属性或元素的值有关的信息以及对它们的约束。 | |
指定属性或元素值(或者属性或元素值的组合)在指定范围内必须是唯一的。该值必须唯一或为零。 |
![](https://i-blog.csdnimg.cn/blog_migrate/e0ea44948e0fb4d95a8582f77c4bbad9.png)
下列元素创建复杂类型定义。
元素 | 说明 |
---|---|
允许组中的元素以任意顺序显示(或不显示)在包含元素中。 | |
定义批注。 | |
使来自指定命名空间的任何元素可以显示在包含 sequence 或 choice 元素中。 | |
使来自指定命名空间的任何属性可以显示在包含 complexType 元素或包含 attributeGroup 元素中。 | |
指定 annotation 元素中应用程序要使用的信息。 | |
声明一个属性。 | |
将一组属性声明归为一组,以便为复杂类型定义将它们并为一个组。 | |
允许且仅允许选定组中包含的一个元素出现在包含元素中。 | |
包含对复杂类型(包含混合内容或仅包含元素)的扩展或限制。 | |
指定 annotation 元素中用户要读取或使用的信息。 | |
声明一个元素。 | |
包含对 simpleContent 的扩展。通过添加指定属性、属性组或 anyAttribute,扩展了简单类型或具有简单内容的复杂类型。 | |
包含对 complexContent 的扩展。 | |
将若干元素声明归为一组,以便将它们当作一个组并入复杂类型定义。 | |
定义对 simpleContent 定义的约束。 | |
定义对 complexContent 定义的约束。 | |
要求组中的元素以指定的顺序显示在包含元素中。 | |
包含对 complexType 元素(它以字符数据或 simpleType 元素为内容)的扩展或限制并且不包含任何元素。 |
![](https://i-blog.csdnimg.cn/blog_migrate/e0ea44948e0fb4d95a8582f77c4bbad9.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e0ea44948e0fb4d95a8582f77c4bbad9.png)