0

私はいくつかの制限を追加しようとしている次の XSD を持っています。GroupType のエントリを制限して、"peer" と "child" という単語のみを許可したいと考えています。私は多くの分野で制限条項を試しましたが、まだ機能していません。

また、簡潔にするためにいくつかの要素を削除しましたが、フローは変更されていません。

どんな助けでも感謝します。

<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="AllMeta">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" name="WikiMeta">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="Groups">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element maxOccurs="unbounded" name="WikiGroup">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="GroupType" type="xs:string" minOccurs="1" maxOccurs="1" />
                          <xs:element name="Name" type="xs:string" minOccurs="1" maxOccurs="1" />
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>
4

1 に答える 1

0

GroupType のエントリを制限して、"peer" と "child" という単語のみを許可したい

したがって、列挙値を使用しtype="xs:string"て要素にカスタムを与える必要はありません。simpleType

<xs:element name="GroupType" minOccurs="1" maxOccurs="1">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:enumeration value="peer" />
      <xs:enumeration value="child" />
    </xs:restriction>
  </xs:simpleType>
</xs:element>

他の場所でも同じ制限が必要な場合は、最上位の名前付きを宣言simpleTypeし、xs:element.

于 2013-10-24T15:44:35.857 に答える