• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:complexTypeは入れ子にできない?)

complexTypeは入れ子にできない?

このQ&Aのポイント
  • XML Schemaで入れ子型を使いたい場合、complexTypeは入れ子にできないようです。
  • XML Schemaでの解決方法は、各要素の重複を許可するcomplexTypeを定義し、それを唯一の要素として指定することです。
  • 解決方法の具体的な例として、Test要素内に唯一の要素Aと、重複を許可する要素BとCを持つcomplexType定義を行い、それをTest要素の型として指定します。

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

この場合で言うなら、こんな感じでいいと思います。 ---------------------------------------------------------------- <?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="Test"> <xs:complexType> <xs:sequence> <xs:element name="A" type="xs:int" /> <xs:sequence minOccurs="0" maxOccurs="unbounded"> <xs:element name="B" type="xs:int" /> <xs:element name="C" type="xs:int" /> </xs:sequence> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> ---------------------------------------------------------------- complexType がネストできるかどうかでいうと、 <D> <B>0</B> <C>0</C> </D> のような時に <xs:element name="D"> <xs:complexType> … のような形で、ネストはできると思いますが、 質問文のような形ではできないと思います。 ていうか、必要がないし。

dynamics
質問者

お礼

なるほど。complexTypeでなくsequenceの入れ子で対応できるのですね。この構文は初めて知りました。まだまだ勉強不足。頑張ります。 どうも有難うございました。