2

私は xsd 仕様の分野では新しいので、stackoverflow コミュニティの助けが必要です。私がやりたいことは、カテゴリ階層を定義することです。

例:

  1. カテゴリーA
    1.1。カテゴリーB
    1.1.1 カテゴリーC

これを xsd 仕様で定義するにはどうすればよいですか? おそらく、これにはいくつかのベストプラクティスソリューションがあります。

クリス

このように指定してみました。しかし、それが実用的なアプローチであるかどうかはわかりません。

<xs:element name="category">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="maincategory">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="subcategory">
              <xs:complexType>
                <xs:sequence>
                  <xs:element ref="subcategory"/>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
</xs:element>

<xs:element name="maincategory" type="xs:string"/>
<xs:element name="subcategory" type="xs:string"/>

クリス

4

1 に答える 1

0

「サブカテゴリ」という名前の2つのものがあります。要素の名前を「element」に変更しました。

これは私がすることです:

<xs:complexType name="category_t">
  <xs:sequence>
    <xs:element name="maincategory" type="main_category_t" />
  </xs:sequence>
</xs:complexType>

<xs:complexType name="main_category_t">
  <xs:sequence>
    <xs:element type="subcategory_t" />
  </xs:sequence>
</xs:complexType>

<xs:complexType name="subcategory_t">
  <xs:sequence>
    <xs:element name="element" type="xs:string" />
  </xs:sequence>
</xs:complexType>

<xs:element name="category" type="category_t" />

refおそらく属性を使用する必要はないと思います。これには非常に特殊なユースケースがあり、type属性は必要なものに近く表示されます。

于 2012-06-29T11:43:33.183 に答える