<body>

<body> 前付,後付を除いた,単一の作品の本文全体を示す. 4 テキスト構造モジュール
モジュールtextstructure — 4 テキスト構造モジュール
属性 att.declaring (@decls)
当該モジュールを使用するもの
下位
宣言

<rng:element name="body">
<rng:ref name="att.global.attributes"/>
<rng:ref name="att.declaring.attributes"/>
<rng:group>
<!-- globals as usual -->
 <rng:zeroOrMore>
  <rng:ref name="model.global"/>
 </rng:zeroOrMore>
<!--possibly some divTops, interspersed with globals -->
 <rng:optional>
  <rng:group>
   <rng:group>
    <rng:ref name="model.divTop"/>
   </rng:group>
   <rng:zeroOrMore>
    <rng:choice>
     <rng:ref name="model.global"/>
     <rng:ref name="model.divTop"/>
    </rng:choice>
   </rng:zeroOrMore>
  </rng:group>
 </rng:optional>
<!-- possibly some generated divs, interspersed with globals -->
 <rng:optional>
  <rng:group>
   <rng:group>
    <rng:ref name="model.divGenLike"/>
   </rng:group>
   <rng:zeroOrMore>
    <rng:choice>
     <rng:ref name="model.global"/>
     <rng:ref name="model.divGenLike"/>
    </rng:choice>
   </rng:zeroOrMore>
  </rng:group>
 </rng:optional>
 <rng:group>
<!-- now a choice between a) some divLike things, with globals and generated divs after them if needed b) some div1Like things, with globals and generated divs after them if needed c) same again, preceded by model.common -->
  <rng:choice>
<!-- a -->
   <rng:oneOrMore>
    <rng:group>
     <rng:group>
      <rng:ref name="model.divLike"/>
     </rng:group>
     <rng:zeroOrMore>
      <rng:choice>
       <rng:ref name="model.global"/>
       <rng:ref name="model.divGenLike"/>
      </rng:choice>
     </rng:zeroOrMore>
    </rng:group>
   </rng:oneOrMore>
<!-- b -->
   <rng:oneOrMore>
    <rng:group>
     <rng:group>
      <rng:ref name="model.div1Like"/>
     </rng:group>
     <rng:zeroOrMore>
      <rng:choice>
       <rng:ref name="model.global"/>
       <rng:ref name="model.divGenLike"/>
      </rng:choice>
     </rng:zeroOrMore>
    </rng:group>
   </rng:oneOrMore>
<!-- c -->
   <rng:group>
    <rng:oneOrMore>
     <rng:group>
      <rng:ref name="model.common"/>
     </rng:group>
     <rng:zeroOrMore>
      <rng:ref name="model.global"/>
     </rng:zeroOrMore>
    </rng:oneOrMore>
    <rng:optional>
     <rng:choice>
<!-- a -->
      <rng:oneOrMore>
       <rng:group>
        <rng:group>
         <rng:ref name="model.divLike"/>
        </rng:group>
        <rng:zeroOrMore>
         <rng:choice>
          <rng:ref name="model.global"/>
          <rng:ref name="model.divGenLike"/>
         </rng:choice>
        </rng:zeroOrMore>
       </rng:group>
      </rng:oneOrMore>
<!-- b -->
      <rng:oneOrMore>
       <rng:group>
        <rng:group>
         <rng:ref name="model.div1Like"/>
        </rng:group>
        <rng:zeroOrMore>
         <rng:choice>
          <rng:ref name="model.global"/>
          <rng:ref name="model.divGenLike"/>
         </rng:choice>
        </rng:zeroOrMore>
       </rng:group>
      </rng:oneOrMore>
     </rng:choice>
    </rng:optional>
   </rng:group>
  </rng:choice>
<!-- end of choice -->
 </rng:group>
<!-- finally, some divBottoms interspersed with globals -->
 <rng:zeroOrMore>
  <rng:group>
   <rng:group>
    <rng:ref name="model.divBottom"/>
   </rng:group>
   <rng:zeroOrMore>
    <rng:ref name="model.global"/>
   </rng:zeroOrMore>
  </rng:group>
 </rng:zeroOrMore>
</rng:group>
</rng:element>
element body
{
   att.global.attributes,
   att.declaring.attributes,
   (
      model.global*,
      ( ( model.divTop ), ( model.global | model.divTop )* )?,
      ( ( model.divGenLike ), ( model.global | model.divGenLike )* )?,
      (
         ( ( model.divLike ), ( model.global | model.divGenLike )* )+
       | ( ( model.div1Like ), ( model.global | model.divGenLike )* )+
       | (
            ( ( model.common ), model.global* )+,
            (
               ( ( model.divLike ), ( model.global | model.divGenLike )* )+
             | ( ( model.div1Like ), ( model.global | model.divGenLike )* )+
            )?
         )
      ),
      ( ( model.divBottom ), model.global* )*
   )
}
<body>
 <l>Nu scylun hergan hefaenricaes uard</l>
 <l>metudæs maecti end his modgidanc</l>
 <l>uerc uuldurfadur sue he uundra gihuaes</l>
 <l>eci dryctin or astelidæ</l>
 <l>he aerist scop aelda barnum</l>
 <l>heben til hrofe haleg scepen.</l>
 <l>tha middungeard moncynnæs uard</l>
 <l>eci dryctin æfter tiadæ</l>
 <l>firum foldu frea allmectig</l>
 <trailer> primo cantauit Cædmon istud carmen.</trailer>
</body>