2013-03-21 65 views
1

我有问题:是否可以将限制设置为属性?例如: -作为属性包含限制

<xs:element name="test"> 
<xs:complexType> 
    <xs:sequence minOccurs="0" maxOccurs="1"> 
    <xs:element name="elem1" type="xs:integer" minInclusive="0" maxInclusive="3"/> 
    <xs:element name="elem2" type="type="xs:normalizedString" minlength="1" maxlength="7"/> 
    </xs:sequence> 
<xs:complexType> 
<xs:element> 

它似乎没有工作,但我有很多“elems的(X)”和我想避免定义为每一个sympletype包括限制。

回答

0

不,这是不可能的你描绘的方式;你可以做的是定义一个全局(命名)简单类型,捕获你想要的约束,然后引用你想要的地方,就像你使用内置类型一样。

<xsd:simpleType name="tt"> 
    <xsd:restriction base="xsd:normalizedString"> 
     <xsd:minLength value="1"/> 
     <xsd:maxLength value="7"/> 
    </xsd:restriction> 
</xsd:simpleType> 


<xsd:element name="elem2" type="tt"/>