1

すべてのXML属性は異なる名前空間にあるため、XSDは他のXSDからそれらを参照します。同じ名前でタイプが異なる属性を持つ2つの異なる要素があります。

<integer ons:name="10" />
<string ons:name="string"/>

したがって、integer要素にはwhileというons:name属性があり、要素には。という属性があります。integerstringons:namestring

XSDでそれを定義するにはどうすればよいですか?現在私は持っています:

<xs:element name="integer">
    <xs:complexType>
        <xs:attribute ref="ons:name" use="required"/>
    </xs:complexType>
</xs:element>

ons次に、名前空間の2番目のXSDには、次のものがあります。

次に、問題は2番目の要素の属性について、でを指定する方法がないことですtype。また、別の属性を参照しているref場合refは、別の名前が付けられます。

4

1 に答える 1

2

名前空間のスキーマドキュメントでons、2つのシングルトン属性グループを定義します。

<xs:attributeGroup name="name-int">
  <xs:attribute name="name" type="xs:integer" use="required" form="qualified"/>
</xs:attribute-group>

<xs:attributeGroup name="name-str">
  <xs:attribute name="name" type="xs:string" form="qualified"/>
</xs:attribute-group>

次に、複合型から属性グループを参照します。

<xs:complexType>
    <xs:attributeGroup ref="ons:name-int"/>
</xs:complexType>
于 2012-06-28T20:10:17.240 に答える