単純化の第15段階は、<zeroOrMore> 要素の変換です。
- 対象ノードの箇所では接頭辞 "rng" は「RELAX NG 名前空間」に関連づけられているとします。
- サンプルでは見やすさのために空白や改行を入れているところがありますが、実際には単純化の第2段階で除去されています。
<zeroOrMore> 要素の変換
- 対象ノード
- //rng:zeroOrMore
- 操作
- <zeroOrMore> 要素の子要素を <oneOrMore> 要素と <empty> 要素との choice に変換します。
サンプル
<zeroOrMore> <element><name ns="">an-element</name><empty/></element> </zeroOrMore>
<choice> <oneOrMore> <element><name ns="">an-element</name><empty/></element> </oneOrMore> <empty/> </choice>
事後条件
- <zeroOrMore> 要素がない。