2010-05-27 92 views
2

我試圖像這樣的元素創建XSD:必需的元素含量

<ElementType attr1="a" attr2 ="b">mandatory_string</ElementType> 

,我想使所需的mandatory_string。我應該添加到這個xsd:

<xs:complexType name="ElementType"> 
<xs:simpleContent> 
    <xs:extension base="xs:string"> 
    <xs:attribute name="attr1" type="StringLength1to2" use="required"/> 
    <xs:attribute name="attr2" type="StringLength1to2" use="required"/> 
    </xs:extension> 
</xs:simpleContent> 
</xs:complexType> 

目前是可選的。少了什麼東西?

+0

對於未知原因的xsd沒有被正確複製: \t \t \t \t \t \t \t \t \t \t \t \t 2010-05-27 16:04:27

+0

提示:'xs:string'可以是空字符串。添加一個最小長度的限制。 – 2010-05-27 16:06:49

+0

我想過這個,但是有不同的解決方案嗎?只是爲了好奇? :) – 2010-05-27 16:09:09

回答

1

正如評論我知道的唯一方法是使用「限制的存在的限制‘模式’中提到:

<xs:simpleType name="orderidtype"> 
    <xs:restriction base="xs:string"> 
     <xs:pattern value="[0-9]{6}"/> 
    </xs:restriction> 
</xs:simpleType> 

我不知道這正是你在找什麼,但。您是否想知道您是否可以製作所需的全部標籤,或者僅僅是字符串本身?如果只是字符串,你可以在上面的例子中使用正則表達式。

+0

所以用我的和你的榜樣應該是這樣的: 對不對? – 2010-05-27 17:03:31

+0

我想象更多的東西一樣: \t \t \t \t \t \t < XS:限制基地= 「XS:字符串」> \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t 這將限制字符串從1-100個字符。您可以使用其中一個限制。 – 2010-05-27 17:25:15