Transformer en syntaxe compact <rng: element name ="div5 "> <rng: ref name ="att.global.attributes "/> <rng: ref name ="att.divLike.attributes "/> <rng: ref name ="att.metrical.attributes "/> <rng: ref name ="att.typed.attributes "/> <rng: ref name ="att.declaring.attributes "/> <rng: group > <rng: zeroOrMore > <rng: choice > <rng: ref name ="model.divTop "/> <rng: ref name ="model.global "/> </rng: choice > </rng: zeroOrMore > <rng: optional > <rng: choice > <rng: oneOrMore > <rng: choice > <rng: ref name ="model.div6Like "/> <rng: ref name ="model.divGenLike "/> </rng: choice > <rng: zeroOrMore > <rng: ref name ="model.global "/> </rng: zeroOrMore > </rng: oneOrMore > <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: zeroOrMore > <rng: choice > <rng: ref name ="model.div6Like "/> <rng: ref name ="model.divGenLike "/> </rng: choice > <rng: zeroOrMore > <rng: ref name ="model.global "/> </rng: zeroOrMore > </rng: zeroOrMore > </rng: group > </rng: choice > <rng: zeroOrMore > <rng: group > <rng: ref name ="model.divBottom "/> </rng: group > <rng: zeroOrMore > <rng: ref name ="model.global "/> </rng: zeroOrMore > </rng: zeroOrMore > </rng: optional > </rng: group > </rng: element >
element div5
{
att.global.attributes ,
att.divLike.attributes ,
att.metrical.attributes ,
att.typed.attributes ,
att.declaring.attributes ,
(
( model.divTop | model.global )*,
(
(
( ( model.div6Like | model.divGenLike ), model.global * )+
| (
( ( model.common ), model.global * )+,
( ( model.div6Like | model.divGenLike ), model.global * )*
)
),
( ( model.divBottom ), model.global * )*
)?
)
}