Types


type Type ::= y type variable
| () empty sequence
| Ø empty choice
| Wild Wildcard type
| Primitive Atomic data type
| @Name[Type] attribute with constant name and content in Type
| Name[Type] element with constant name and content in t
| @Wild[Type] attribute with name in Wild and content in Type
| Wild[Type] element with name in Wild and content in t
| Type1 , Type2 sequence, Type1 followed by Type2
| Type1 | Type2 choice, Type1 or Type2
| Type1 & Type2 all group, Type1 and Type2 in either order
| Type {m, n} repetition of Type between m and n times
bound m,n ::= natural number or *