<rng:element name="datatype">
<rng:ref name="att.global.attributes"/>
<rng:optional>
<rng:attribute name="minOccurs" a:defaultValue="1">
<rng:ref name="data.count"/>
</rng:attribute>
</rng:optional>
<rng:optional>
<rng:attribute name="maxOccurs" a:defaultValue="1">
<rng:choice>
<rng:ref name="data.count"/>
<rng:value>unbounded</rng:value>
</rng:choice>
</rng:attribute>
</rng:optional>
<rng:zeroOrMore>
<rng:group>
<rng:ref name="macro.schemaPattern"/>
</rng:group>
</rng:zeroOrMore>
</rng:element>
element datatype
{
att.global.attributes,
attribute minOccurs { data.count }?,
attribute maxOccurs { data.count | "unbounded" }?,
macro.schemaPattern*
}