Compact to XML format XML format to compact <rng:element name="node "> <rng:ref name="att.global.attributes  <rng:optional> <rng:attribute name="value "> <rng:ref name="data.pointer  </rng:attribute> </rng:optional> <rng:optional> <rng:attribute name="type "> <rng:choice> <rng:value> initial</rng:value> <rng:value> final</rng:value> <rng:data type="Name "/> </rng:choice> </rng:attribute> </rng:optional> <rng:optional> <rng:attribute name="adjTo "> <rng:list> <rng:ref name="data.pointer  <rng:zeroOrMore> <rng:ref name="data.pointer  </rng:zeroOrMore> </rng:list> </rng:attribute> </rng:optional> <rng:optional> <rng:attribute name="adjFrom "> <rng:list> <rng:ref name="data.pointer  <rng:zeroOrMore> <rng:ref name="data.pointer  </rng:zeroOrMore> </rng:list> </rng:attribute> </rng:optional> <rng:optional> <rng:attribute name="adj "> <rng:list> <rng:ref name="data.pointer  <rng:zeroOrMore> <rng:ref name="data.pointer  </rng:zeroOrMore> </rng:list> </rng:attribute> </rng:optional> <rng:optional> <rng:attribute name="inDegree "> <rng:ref name="data.count  </rng:attribute> </rng:optional> <rng:optional> <rng:attribute name="outDegree "> <rng:ref name="data.count  </rng:attribute> </rng:optional> <rng:optional> <rng:attribute name="degree "> <rng:ref name="data.count  </rng:attribute> </rng:optional> <rng:optional> <rng:ref name="label  <rng:optional> <rng:ref name="label  </rng:optional> </rng:optional> </rng:element> 
element  node 
{
   att.global.attributes ,
   attribute value { data.pointer  }?,
   attribute type { "initial" | "final" | xsd:Name }?,
   attribute adjTo { list { data.pointer , data.pointer * } }?,
   attribute adjFrom { list { data.pointer , data.pointer * } }?,
   attribute adj { list { data.pointer , data.pointer * } }?,
   attribute inDegree { data.count  }?,
   attribute outDegree { data.count  }?,
   attribute degree { data.count  }?,
   ( label , label ? )?
}