[英]How to make restrictions on XML Schema Complex type?
我正在閱讀w3cschools( http://www.w3schools.com/schema/schema_complex.asp )上的教程,但他們似乎沒有提到如何在復雜類型上添加限制。
比如我有這個架構。
<xs:element name="employee">
<xs:complexType>
<xs:sequence>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
現在我想確保名字長度不超過10個字符。 我該怎么做呢?
我試圖為firstname添加簡單類型,但它說我不能這樣做,因為我使用的是復雜類型。
那么我如何在文件中加上這樣的限制,以便我給模式的人不要嘗試將firstname設為100個字符。
您可以使用XSD進行一些限制:
假設您想要firstName不超過10個字符。 您將使用以下內容:
<xs:element name="employee">
<xs:complexType>
<xs:sequence>
<xs:element name="firstname">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="10"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="lastname" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
對於更復雜的約束,我猜你必須做一些基於代碼的檢查。
<xs:element name="employee">
<xs:complexType>
<xs:sequence>
<xs:element name="firstname">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="10"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="lastname" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
這解決了你的問題嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.