0

複合型を定義したい場合、私は行くことができます

<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:sequence> ...     </xs:sequence>

上記のタグで

<xs:all> ...     </xs:all>

また

<xs:choice> ...     </xs:choice>

そしてそれは検証します。

ただし、これらは要素の順序/出現に制限を課しています。

これらのインジケータなしで複雑な要素を定義する方法はありますか?

「刺激を受けた」

<xs:complexType name="personinfo2">
<xs:complexContent>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
</xs:complexContent>
</xs:complexType>

これまでのところ、うまくいきませんでした。

4

1 に答える 1

0

XSD のチュートリアルを読む必要があります。

いいえ、xs:sequence、xs:choice、または xs:all のいずれかを (明示的または暗黙的に) 指定せずにコンテンツ モデルを定義することはできません。

子要素の順序や出現回数に制限を加えたくない場合は、おそらく次のようになります。

<xs:complexType name="sample">
  <xs:choice minOccurs="0" maxOccurs="unbounded">
    <xs:element name="e1" type="xs:string"/>
    <xs:element name="e2" type="xs:string"/>
  </xs:choice>
</xs:complexType>

これにより、任意の数の e1 および e2 の子が、任意の順序で許可されます。personinfo 型の有効な要素に 37 個の lastname 要素と 36 個の firstname 要素を交互に含めたくない場合は、何を行い、何を望まないかについて何かを発見したことになります。

于 2013-08-28T01:28:09.247 に答える