2010-05-27 56 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