包含限制作为属性

时间:2013-03-21 18:10:15

标签: xml xsd restriction

我有一个问题:是否可以将限制设置为属性? E.g:

<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定义包括限制。

1 个答案:

答案 0 :(得分: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"/>