在XML Schema中使用限制库来定义属性

时间:2012-01-13 15:07:03

标签: xml xsd xml-attribute

我需要对“是或否”属性设置限制 - 但不太确定如何构建它 - 我正在尝试以下但不确定它是对还是错:(建议将不胜感激)谢谢

<xs:element name="DistinctiveMarks">
  <xs:ComplexType>
    <xs:SimpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="present" type="xs:string">
          <xs:restriction base="xs:string">
            <xs:pattern value="yes|no"/>
          </xs:restriction>
        </xs:attribute>
      </xs:extension>
    </xs:SimpleContent>
  </xs:ComplexType>
</xs:element>

1 个答案:

答案 0 :(得分:1)

那应该有用。如果你打算重用它,另一个选择是声明一个简单的类型。然后你可以只做type = MY_YesNoType,如果有的话,包括命名空间前缀。可能适合的另一个选项是使用枚举。很好,如果你想挖掘然后xsd建立一个数据输入的选项列表,而不是验证正则表达式。

  <xs:simpleType name="MY_YesNoType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="no" />
      <xs:enumeration value="yes" />
    </xs:restriction>
  </xs:simpleType>