[解決済み] XSD - 要素を何度でも好きな順番で並べられるようにするには?
2022-05-15 06:04:38
質問
XSDを作成しようとしているのですが、以下のような要件で定義を書こうとしています。
- 指定された子要素が何回でも出現できるようにする(0~無制限)
- 子要素を任意の順番で並べることができるようにする
いろいろ調べてみると、以下のような解決策がありました。 この :
<xs:element name="foo">
<xsl:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="child1" type="xs:int"/>
<xs:element name="child2" type="xs:string"/>
</xs:choice>
</xs:complexType>
</xs:element>
しかし、私が理解するところでは、xs:choiceはまだ単一の要素選択しかできません。したがって、このように MaxOccurs を unbounded に設定すると、子要素の "any one" が複数回出現することを意味するだけになるはずです。これは正確ですか?
上記のソリューションが正しくない場合、私の要件で上記で述べたことをどのように達成できますか。
EDIT : 要件が以下のような場合はどうでしょうか?
- 要素child1 child2 は、任意の回数(0から無制限)出現することができる。 回数(0から無制限)
- 要素は任意の順序になるように
- 要素 child3 と child4 は正確に一度だけ表示されること。
例えば このxmlは有効です。
<foo>
<child1> value </child1>
<child1> value </child1>
<child3> value </child3>
<child2> value </child2>
<child4> value </child4>
<child1> value </child1>
</foo>
しかし、これはそうではありません(子3がありません)。
<foo>
<child1> value </child1>
<child1> value </child1>
<child2> value </child2>
<child4> value </child4>
<child1> value </child1>
</foo>
どのように解決するのですか?
質問にあるスキーマで
child1
または
child2
は、どのような順番でも、何度でも現れることができます。ですから、これはあなたが探しているもののように聞こえます。
これらのうち1つだけを回数無制限で表示したい場合は、代わりに unbounded を要素に使用する必要があります。
<xs:element name="foo">
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:element name="child1" type="xs:int" maxOccurs="unbounded"/>
<xs:element name="child2" type="xs:string" maxOccurs="unbounded"/>
</xs:choice>
</xs:complexType>
</xs:element>
関連
-
[解決済み] XMLの<![CDATA[]]>は何を意味するのですか?
-
[解決済み] T-SQLでXML文字列の属性にある二重引用符をエスケープするにはどうすればよいですか?
-
[解決済み] XPath: select text node
-
[解決済み] ある要素のn番目のインスタンスを取得するためのXPathクエリ
-
[解決済み] XPath contains()の使い方を教えてください。
-
[解決済み] XML インスタンスドキュメントから XSD スキーマを生成するためのツールはありますか?[クローズド]。
-
[解決済み] IIS7:HTTP->HTTPS クリーンアップ
-
[解決済み] nuget 'packages' 要素が宣言されていない警告
-
[解決済み] Vim で一致する XML タグにジャンプする
-
[解決済み] Ubuntu 11.04でRパッケージがインストールできない [非公開]
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] cURL コマンドラインを使用して XML ファイルを POST
-
[解決済み] XMLの要素とノードはどう違うのですか?
-
[解決済み] foo "を含む属性を選択するための正しいXPathは何ですか?
-
[解決済み] XMLで属性値を取得する
-
[解決済み] XMLコマンドライン処理のためのGrepとSedの等価版
-
[解決済み] XML インスタンスドキュメントから XSD スキーマを生成するためのツールはありますか?[クローズド]。
-
[解決済み] IIS7:HTTP->HTTPS クリーンアップ
-
[解決済み] XML スキーマ。テキストのみを含む属性を持つ要素?
-
[解決済み] SVG テキストの自動改行
-
[解決済み] XSD - 要素を何度でも好きな順番で並べられるようにするには?