對於包含type="xs:int"
的簡單元素,我想添加一個限制和一些屬性。不過,我已經看到它做的唯一方法是在兩步走的方法:將限制和屬性添加到複雜類型
聲明名爲(全球)型,並把所有的限制,將在指定類型
參考命名鍵入
<xs:extension>
的base
,然後將這些屬性添加到擴展節點。
這可能是很好,如果我能避免聲明爲架構是動態生成一個全局命名類型,這將是一個更加簡潔本地指定的所有限制。例如。像這樣:
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:int">
<xs:minInclusive>2</xs:minInclusive>
<xs:attribute name="myAttribute" type="xs:boolean" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
或字符串型的情況下:
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:enumeration Value="FOO" />
<xs:enumeration Value="BAR" />
<xs:enumeration Value="BAZ" />
<xs:attribute name="myAttribute" type="xs:boolean" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
不幸的是,它似乎沒有,像這樣的「組合拳」的聲明是允許的。
不得不承認我仍然有點困惑的基礎上回答被接受的SO :( – 2011-04-04 10:58:40