0

レストランベースのシステム用に小さなxsd/xmlファイルを作成しています。

XSDファイル用に持っているコードは次のとおりです。

<xs:element name="table_cat">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="category" maxOccurs="unbounded">
          <xs:complexType>
            <xs:sequence maxOccurs="unbounded">
              <xs:element name="category_id" type="CatID" />
              <xs:element name="catdescription" type="Length50"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>

    <xs:unique name="unique-catid">
      <xs:selector xpath="category" />
      <xs:field xpath="category_id"/>

    </xs:unique>

  </xs:element>

しかし、XMLファイルに複数のCategory_IDフィールドがある場合は常に、次のエラーが発生し続けます。

The field 'category_id' is expecting at the most one value.

私はそれを機能させるためにさまざまな解決策を試しましたが、何も機能していないようです。

あなたがありがとうを助けることができることを願っています!

4

1 に答える 1

0

表現しようとしている制約を実際に言っていません。誤ったコードから要件をリバースエンジニアリングすることは困難です。

とにかく、それは貧弱な設計だと思います。ペアの周りにコンテナ要素がない(id、description)ペアのシーケンスが繰り返されています。そのため、データの処理が不必要に難しくなります。

おそらくあなたが望む

<xs:unique name="unique-catid">
  <xs:selector xpath="category_id" />
  <xs:field xpath="."/>
</xs:unique>

しかし、それがあなたの意図であるかどうかは本当にわかりません。

于 2012-11-03T20:15:57.490 に答える