xsdには、 'id'、 'name'、 'date'などの一般的なフィールドがいくつかあります。 「anyspecificId」は、これらのタイプがお互いに非常に似ていることを意味し、それぞれに共通のフィールドを1つ追加するのは悪夢です。複合型の基本型を定義することが可能なので、この複合型は基本親型の項目/項目を拡張しますか? その場合、この新しいフィールドを基本タイプに追加するだけで、子フィールドのそれぞれには追加しません。 これは可能ですか?あなたはタイプの拡張子を使用する必要があります。もちろん、xsdスキーマで複数の要素が共通しています
1
A
答えて
2
:
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="employee" type="fullpersoninfo"/>
<xs:complexType name="personinfo">
<xs:sequence>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="fullpersoninfo">
<xs:complexContent>
<xs:extension base="personinfo">
<xs:sequence>
<xs:element name="address" type="xs:string"/>
<xs:element name="city" type="xs:string"/>
<xs:element name="country" type="xs:string"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:schema>
2
拡張子によって種類の導出は確かにこれに対処する一つの方法です。時にはうまくいく別のアプローチは、名前付きモデルグループを使うことです。これはより柔軟にすることができます。たとえば、共通要素がカスタム要素の前に来なければならないという制約はありません。
関連する問題
- 1. XSD要素に複数の<annotation>がありますか?
- 2. XSD単純要素とXSD複合要素の相違点
- 3. C# - XSDスキーマを解析 - すべての要素コンボボックス
- 4. XSDスキーマでALLを使用して複数の要素を持つ順序を持つ方法
- 5. JAXB複数の.xsdスキーマへのバインドを適用します。
- 6. Javascriptの複数の配列にまたがる共通の要素
- 7. XSDスキーマでXML要素のエイリアスを定義する
- 8. 共通の列を持つ複数のタイプのオブジェクトのActiveRecordスキーマ
- 9. JAX WSのXSD:任意の種類は、XSDを処理XMLスキーマ要素
- 10. XSLでXSD複合要素型を拡張しますか?
- 11. XSDスキーマ内に別のXSDのコンテンツが含まれていますか?
- 12. SpringのPayloadValidatingInterceptorで複数のXSDスキーマを検証する方法
- 13. 最新のプロセッサでは複数のクロックドメインが共通していますか?
- 14. XSDスキーマ:expectedContentTypesで複数のxmimeを使用する
- 15. XSD複数の要素の値を制限する
- 16. 複数のデータフレーム列間で共通の要素を見つける
- 17. 共有要素変色して、ステータスとアクションバーの重複要素
- 18. 共通データ型のJsonスキーマ
- 19. 要素名は同じで属性値が異なるXMLのXSDスキーマ
- 20. ユニットテストでxsd要素名が解決されていません
- 21. XSD複数の要素に対して単一の制約を使用
- 22. 共通要素と複数のデータポイントを持つ配列をマージする
- 23. リスト内で共通しない要素を探す
- 24. Capybara/Rspecが複数の要素をテストしていますか?
- 25. XSDエラー:XML要素が
- 26. xsdファイル(XMLスキーマ)の要素または属性名にコロン ':'をエスケープする
- 27. 関数を使用して共通要素をチェックするPython関数
- 28. XSD.exeを使用して複数のXSDスキーマからC#クラスを生成する
- 29. 他の要素や属性、テキスト(すべて)を含む複合要素のXSDスキーマを記述できますか?
- 30. データフレーム内の複数のカテゴリから共通の要素を見つけるか?
拡張機能は常に最善のものではありません。制限を伴う問題に遭遇した場合、それらをオブジェクトに変換することはきれいではないため、グループモデル(xsd:groupおよびattributes attributeGroupの要素)を使用することは再利用性を達成するために考慮する可能性があります。 –