ncn in NameCharacterName    
null in NullName    
p in Prefix ::= NameCharacterName + NullName
wn in WildName    
l in LocalPart ::= NameCharacterName + NullName
uri in UniformResourceIdentifier    
nsn in NamespaceName ::= UniformResourceIdentifier + NullName
qn in QualifiedName ::= ( Prefix X LocalPart )
un in UniversalName ::= ( Namespace X LocalPart X Prefix )
ns in Namespace ::= ( NamespaceName X ( LocalPart => UniversalName ) )
n in Name ::= ( UniversalName + QualifiedName )
nsb in NamespaceBinding ::= ( Prefix X Namespace )
nse in NamespaceEnvironment ::= ( Prefix => (Namespace + Null) )
a in Attribute ::= Name
e in Element ::= ( Name X NamespaceBinding* X Attribute* X Element* )
em in ElementModel   ( Name* + WildName )
ed in ElementDeclaration ::= ( Name X ElementModel X Name* X NamespaceEnvironment)
s in Schema ::= ElementDeclaration*
doc in Document ::= ( Name X Schema X Element )