A documentation element within an annotation element can contain comments. If you want to say that an element occurs in another type, then instead of the type attribute you use a ref attribute, where the ref indicates what the type of that element is. If a complex type contains sub-elements, one after another, then these are declared in a sequence structure within the complex type. The default is that if an element is listed in a sequence, then it must occur exactly once. However, instead of having it at the top level, equivalent to an element definition, you put it inside a type definition, indicating that the attribute is associated with that type.
Regular expressions describe what characters can go where in a string.
An ordinary character indicates that that character must be present exactly once at that position. A collection of characters in square brackets indicates that any of those characters may be present. Repetitions of regular expressions may be indicated by putting the number in curly braces. This is used within a simpleType to construct a list of that simpleType, where a list is some number of repetitions of a value within an element, separated by whitespace. A type may consist of the combination of other types, i.e. any of the values of the other types may be present.