我爲自定義XML(用於文件生成)定義了XSD方案。我有一個名爲type
的屬性。我希望它接受預定義列表以及任何其他字符串值。因爲type
可以是標準的(int,string等),也可以是自定義的(任何名稱)。可能嗎?該XML的xs:屬性接受預定義列表和任何其他字符串值
例子:
<submodel name="Country">
<field name="Handler" type="Clients.CountryHandlerModel" />
<field name="Name" type="string" />
</submodel>
而且XSD描述爲type
屬性:
<xs:attribute name="type" use="required">
<xs:simpleType>
<xs:restriction>
<xs:simpleType>
<xs:list>
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="bit"/>
<xs:enumeration value="boolean"/>
<xs:enumeration value="int"/>
<xs:enumeration value="decimal"/>
<xs:enumeration value="double"/>
<xs:enumeration value="date"/>
<xs:enumeration value="datetime"/>
<xs:enumeration value="string"/>
<xs:enumeration value="binary"/>
</xs:restriction>
</xs:simpleType>
</xs:list>
</xs:simpleType>
<xs:minLength value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
謝謝,我也想過了,這就是爲什麼我問可能性。 – colotiline
我的真實世界經驗是,爲讀者閱讀的人類編寫模式幾乎總是有幫助的,而人類讀者往往比讀取模式的軟件更重要。半封閉列表(「x,y,z或w中的任何一個,或者如果這些列表中沒有一個適用,則表示任何字符串)與字符串對於衆所周知的值的期望不同。 (但是,是的,世界上有一些不是由Microsoft編寫的工具也是事實,並且有些工具提供了有關聯盟的哪個成員符合值的信息。) –