<body>

<body> ( Kerntext (text body) ) enthält den gesamten, eigenständigen Text, außer Vorspann (front) und Nachspann (back). 4 Default Text Structure
Modultextstructure — 4 Default Text Structure
Attribute att.declaring (@decls)
Verwendet von
Kann enthalten
Deklaration

<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* )*
   )
}
Beispiel
<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>