XSD の要素の ref 属性は何をしますか? 質問する

XSD の要素の ref 属性は何をしますか? 質問する

ドキュメントには、スキーマ内の別の要素を参照すると記載されているようですが、どのように使用できるのでしょうか。私がこれまで使用したスキーマでは、これを見たことがありません。

何か良い使用例や、その使用法をさらに説明できるものをお持ちの方はいらっしゃいますか?

ベストアンサー1

基本的に、これは他の場所で宣言されている別の要素を参照しますが、同じスキーマ ドキュメントである場合もそうでない場合もあります。

たとえば、別の名前空間にある外部参照スキーマから取得することもできます。アイテム複数の異なるスキーマで多くの要素を使用する場合は、その要素(およびその他の一般的な型と属性)を一般スキーマを作成し、それを他のすべてのスキーマで再利用します。

あなたが一般名前空間を持つスキーマcのインスタンスを宣言することができますアイテム要素は単独で、または次のように型の一部として使用できます。

<xs:element ref="c:item" /><!-- reference here -->
<xs:complexType name="something">
    <xs:sequence>
        <xs:element ref="c:item" /><!-- and here -->
    </xs:sequence>
    <xs:element name="other" type="xs:Name" />
</xs:complexType>

データ スキーマ内の定義は次のようになります。

<xs:element name="item" type="itemType" /><!-- referenced element -->
<xs:complexType name="itemType">
    <xs:sequence>
        <xs:element name="code" type="xs:Name" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
    <xs:attribute name="description" type="xs:normalizedString" use="required" />
</xs:complexType>

おすすめ記事