タイプの拡張子を使用していますが、特定のタイプである必要がある別の属性を追加しようとしています。悲しいことに、私は彼らの一人だけが一度に働くことができます。追加の属性を持つXSD拡張子
コード例は、(これは私が試した多くのもののほんの現在の状態です):、
<xs:complexType name="buttonBaseType">
<xs:complexContent>
<xs:attribute name="text" type="nonEmptyString"/>
<xs:extension base="elementCommonInfo"/>
</xs:complexContent>
</xs:complexType>
elementCommonInfo
は、いくつかの属性を定義し、2デフォルト値を持つものや、持っていないものを言うことができますもの。
このバージョンでは、次のコード<button text="e"/>
がbase-frame.xml:7:27: attribute 'text' is not declared for element 'button'
というエラーを作成します。 から1レベル上(xs:complexType
の前または後)にxs:attribute
を移動すると、そこに存在する必要がある属性がelementCommonInfo
であるにもかかわらず、ドキュメントが検証をパスします。
TL; DR:「拡張」タイプで定義している新しい属性とともに、拡張からすべての属性を取得する方法を教えてください。
は 'elementCommonInfo'が単純型を持っていることを条件とします。 – Kachna