• 締切済み

XMLSchema この要素以外はOK

質問します。 XMLSchemaで 名前空間とは関係無しに (あるいは同一名前空間の要素同士について) 要素Aの子として、 要素B以外は何でもOK、 という指定はできますでしょうか? 要素Aの子として 名前空間Cの要素以外はOKというのはわかったのですが、 質問に上げたことについて、 やり方が分かりません。 よろしくお願いします。

みんなの回答

  • seastar3
  • ベストアンサー率69% (99/142)
回答No.1

 確かめていないのですが、maxOccurs 属性を0回と指定して、[除外要素]要素を一つも埋め込めないように指定することができるかもしれません。 <xsd:element name="除外要素" type="xsd:string" maxOccurs="0"/>  ただし、XMLSchema の要素のオーバーライドや要素の順番違いで感知しないことが発生するかもしれません。かなり曖昧な助言で申し訳ありません。

hercle
質問者

お礼

ご回答、ありがとうございます。 ご回答していただいてすいませんが、 maxOccurs="0"を設定すると 「maxOccursは1以上」というエラーが発生するのです。 Nokogiri::XML::SyntaxError: Element '{http://www.w3.org/2001/XMLSchema}element', attribute 'maxOccurs': The value must be greater than or equal to 1.