复合元素
复合元素包含其他元素及属性的XML元素。 复合元素包括:
- 空元素
- 包含其他元素的元素
- 仅包含文本的元素
- 包含元素和文本的元素
- 上述所有元素均可包含属性
仅包含元素的复合元素
复合元素声明有两种方式,第二种方式可用于其他元素。
1 | <xs:element name="employee"> |
1 | <xs:element name="employee" type="personinfo"/> |
还可以在已有复合元素的基础上,添加一些元素。
1 | <xs:element name="employee" type="fullpersoninfo"/> |
<sequence>
是指示器,这意味着子元素必须按照声明的次序出现。
仅包含属性的复合元素
空的复合元素只能包含属性不能包含其他内容。
一个空的XML元素:
1 | <product prodid="1345" /> |
声明如下:
1 | <xs:element name="product"> |
或者更紧凑的写法
1 | <xs:element name="product"> |
包含文本和属性的复合元素
1 | <shoesize country="france">35</shoesize> |
1 | <xs:element name="shoesize"> |
请使用
extension
或restriction
元素来扩展或限制元素的基本简易类型
包含文本和元素的复合元素
1 | <letter> |
1 | <xs:element name="letter"> |
为了使字符数据可以出现在 “letter” 的子元素之间,mixed 属性必须被设置为 “true”。