complexType元素
作用:定义一个复合类型,它设定了一组和属性值的约束和相关信息
和simpleType的区别
(1)simpleType类型的元素中不能包含元素或者属性
(2)当需要声明一个元素的子元素和(或)属性时,用complexType
(3)当需要基于内置的基本数据类型定义一个新的数据类型时,用simpleType
属性:name
示例:
simpleContent元素
作用:应用于complexType,对它的内容进行约束和扩展。simpleContent元素下不包括子元素,extension表示这个元素的类型。
也可以认为加了simpleContent子元素的元素没有子元素,当然,在simpleContent中可以定义元素的属性。
xml文档:
choice元素
作用:允许唯一的一个元素从一个组中被选择
属性:minOccurs/maxOccurs
示例:
sequence元素
作用:给一组元素一个特定的序列
约束:minOccurs/maxOccurs。complexType中元素组作为一个整体出现的次数,而且,元素组中的元素都得出现
substitutionGroup元素,它的值可以代替前面的元素的名称
元素类型定义可以在元素声明内部,也可以在元素声明外部。后者定义的类型可以复用。
通过DOCTYPE可以明确指定文档的根元素,Schema本身是没法明确指定目标XML文档的根元素的,XmlSpy是通过推断哪个元素包含了其他元素来选择包含其他元素最多的那个元素作为文档的根,但我们可以明确指定文档的跟元素而不必按照XmlSpy。