質問

私はこの複雑なタイプを持っています:

<xsd:complexType name="Identifier">
    <xsd:sequence>
        <xsd:element name="Id" type="xsd:string"/>
        <xsd:element name="Version" type="xsd:string"/>
    </xsd:sequence>
</xsd:complexType>

今、私はこれを別の複雑なタイプに含めたいと思っています、そして私はこのようにそれをやっています:

<xsd:complexType>
    <xsd:sequence>
        <xsd:element name="Id" type="Identifier"/>
              <!-- More elements here -->
    </xsd:sequence>
</xsd:complexType>

これは私が本当に欲しいものではありません。識別子タイプの要素を、新しい要素を作成せずに2番目の複雑なタイプに直接含めたいと思います。たとえば、これを行うのと同じです:

<xsd:complexType>
    <xsd:sequence>
        <xsd:element name="Id" type="xsd:string"/>
        <xsd:element name="Version" type="xsd:string"/>
              <!-- More elements here -->
    </xsd:sequence>
</xsd:complexType>

それが理にかなっていることを願っています。

前もって感謝します。

役に立ちましたか?

解決

このようなタイプを拡張できます。

<xsd:complexType name="MySubType">
    <xsd:complexContent>
        <xsd:extension base="Identifier">
                       <xsd:sequence>
                            <!-- More elements here -->
                       </xsd:sequence>
        </xsd:extension>
    </xsd:complexContent>
</xsd:complexType>

他のヒント

この複雑なタイプは常に解決します

<Identifier>
   <Id>string</Id>
   <Version>string</Version>
</Identifier>

子の構造が必要ない場合は、IDとバージョンを要素として定義し、使用して参照できます

<xsd:element ref="Id"/>
<xsd:element ref="Version"/>

後で。しかし、あなたは彼らが両方とも発生するという保証を持っていません

複雑なタイプの識別子要素にIDおよびバージョン属性を作成することもできます

頑張ってマイク

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top