0

私は次のようなcomplexTypeを持っています:

<xsd:complexType name="NightlyRate">
    <xsd:complexContent>
        <xsd:extension base="com:Money">
            <xsd:attribute name="night" type="com:Number" use="required"/>
        </xsd:extension>
    </xsd:complexContent>
</xsd:complexType>

ここで、それ自体が complexType である "NightlyRate" に子要素を追加します。追加してみました:

<xsd:element name="xxx" type"com:Money"/>

complexContent要素の後、要素が予期されていないというエラーをスローします。また、問題の一部は、この複合要素のタイプが拡張ベースのタイプと同じであることです。私はJAXBを使用しています。これを達成する他の方法はありますか?

ありがとう!

4

2 に答える 2

2

のサブ要素を取得するには、その中xsd:complexTypeに a を配置する必要がありますxsd:sequence(最初のレベル、注釈と属性と共に)。このシーケンスでは、他の定義された型の要素を含めたり、新しい型を定義したりできます。

W3Schools のXSD 複合要素と womp の例を参照してください。

場合によっては、このxsd:any要素を使用して、まだ定義されていない拡張機能 (ルーズ) を許可したい場合があります。

于 2009-06-09T22:26:31.900 に答える
1
<xsd:complexType name="NightlyRate">
    <xsd:complexContent>
        <xsd:extension base="com:Money">
            <xsd:sequence>
                <xsd:element name="xxx" type"com:Money">
                   <xsd:complexType>
                      <xsd:complexContent>
                             /// Attributes here
                      </xsd:complexContent>
                   </xsd:complexType>
                </xsd:element>
            </xsd:sequence>

            <xsd:attribute name="night" type="com:Number" use="required"/>
        </xsd:extension>
    </xsd:complexContent>
</xsd:complexType>
于 2009-06-09T22:21:16.763 に答える