1

xsdを使用してxmlを検証しています。要素AddressTypeの1つには、値(1,2,3)の1つのみが含まれている必要があります。

          <AddressType>1</AddressType>

このIDに関する情報を提供したいと思います。たとえば、1は自宅に対応し、2は職場に対応します。

私はこのような列挙を使用することを考えました-

                <xs:enumeration value="1" id="Home"/>

ただし、他の列挙が同じIDを持っている場合、これは失敗します。IDに関する情報だけでなく値も提供できる方法はありますか。

4

2 に答える 2

2

これは、XMLを検証するアプリケーションに対する期待と、正確に何を意味するかによって異なりますprovide information about these ids。エラーメッセージを強化するには?XSDからデータ入力フォームを作成するときに使用するには?

これを行う1つの方法は、XMLスキーマ注釈メカニズムを活用することです。

  • バリデーターは通常、XMLノードに関連付けられた特定のスキーマオブジェクトへのアクセスを提供します。この場合、注釈から追加情報を抽出できます。

  • XSDからデータ入力フォームを作成する他のツールでは、テキストが注釈から取得され、値が列挙の値から取得されるドロップダウンを表示できる場合があります。これらには通常、推奨されるマークアップとそれをXSDに挿入する方法がすでに付属しています。

        <xs:enumeration value="1">
            <xs:annotation>
                <xs:documentation>Home</xs:documentation>
                <xs:appinfo>
                    <something:proprietary>Home</something:proprietary>
                </xs:appinfo>
            </xs:annotation>
        </xs:enumeration>
    
于 2012-09-27T17:47:00.717 に答える
2

私の最初の提案は、XMLでIDを使用しないことです(XMLは人間が読める形式です;-))。必要な場合は、xsd:annotation / xsd:documentationを使用して、各IDの意味を提供できます。

于 2012-09-27T17:47:37.223 に答える