1

我想这样做: XML Schema How to Restrict Attribute by Enumeration

...但我有许多不同的属性,它们具有完全相同的值。这使我的 XSD 非常复杂。我可以定义一次限制,然后以某种方式在每个属性上引用它吗???

提前致谢。:)

4

1 回答 1

2

如果您有许多具有完全相同值的不同属性,只需重用属性类型定义:

<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           version="1.0">

  <xs:simpleType name="colorType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="red" />
      <xs:enumeration value="green" />
      <xs:enumeration value="blue" />
    </xs:restriction>
  </xs:simpleType>

  <xs:element name="RoomColors">
    <xs:complexType>
      <xs:attribute name="wall" type="colorType"/>
      <xs:attribute name="carpet" type="colorType"/>
      <xs:attribute name="ceiling" type="colorType"/>
      <xs:attribute name="funiture" type="colorType"/>
    </xs:complexType>
  </xs:element>  

</xs:schema>

当价值观不完全相同时,就会产生更多的创造力。请参阅在 XML 模式中扩展枚举列表

于 2013-09-25T12:20:10.567 回答