<!--代码11 列表类型USStateList及其导出的列表类型SixUSStates-->
<!-- Schema Fragment -->
<xsd:simpleType name="USStateList">
<xsd:list itemType="USState"/>
</xsd:simpleType>
<xsd:simpleType name="SixUSStates">
<xsd:restriction base="USStateList">
<xsd:length value="6"/>
</xsd:restriction>
</xsd:simpleType>
<!-- Instance Fragment -->
<sixStates>PA NY CA NY LA AK</sixStates>
我们需要注意的是,从原子类型string可以导出一个列表类型,然而,在一个string中也许会带有空格,而空格在一个列表类型实例中是作为分隔符使用的。所以当在使用基类型为string的列表类型时,应当格外小心。举例来说,假设我们定义了一个length取值为3的列表类型,同时这个列表类型是基于类型string。下面由三个元素组成的列表是合法的:“Asie Europe Afrique”;而由三个元素这样组成的列表是不合法的:“Asie Europe Amérique Latine”。即使“Amérique Latine”在列表外可以作为单独的一个字符串存在,但当它包含在列表中,在Amérique和Latine之间的空格使得第四个项被有效地生成了,因此后面的那个例子不符合只有三个项的列表类型定义。