我有一个问题:是否可以将限制设置为属性? 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定义包括限制。
答案 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"/>