4.9 列表和联合结合使用
不管是列表类型还是联合类型,都是以现有类型为基础。前面介绍的例子都是以原子类型为基础。实际上,Schema还允许使用<list…/>元素由已有的联合类型派生出对应的列表类型;类似地,也允许使用<union…/>元素把一个或多个列表类型联合成联合类型。
<union…/>元素可以把多个已有的类型联合成联合类型,因此它的成员类型既可以是原子类型,也可以是列表类型,还可以是联合类型,功能非常丰富。
<list…/>元素可以由已有的数据类型派生出对应的列表类型,列表类型的列表元素的类型既可以是原子类型,也可以是联合类型,但不可以是列表类型,也不可以是其成员类型包括列表类型的混合类型。
下面这份Schema文档略显复杂,它将多个列表和联合类型混在了一起使用:
程序清单:codes\04\4.9\test.xsd