XSD reverse generation: Element
The "Element" tag is a declaration of a simple type or a complex type. It represents the instance tag for the document. It may contain attributes, sub-tags, and/or text.
An element often indicates a relation between two classes. This relation is represented by a UML composition. The element is modeled by the role of the class located on the side of the class associated with its type.
Attributes of "Element"
• Abstract: modeled by the "XSD Abstract" generation parameter. If the element is abstract, select "yes". Otherwise select "no".
• Block: represented by three generation parameters: XSD Block Extension, XSD Block Restriction, and XSD Block Substitution. Depending on the value of Block, the generation parameters are set to "yes" or "no".
• Default: modeled by the XSD Value generation parameter, which contains the default value for the element, and by the IsChangeable attribute, which should not be specified.
• Final: represented by the XSD Final Extension and XSD Final Restriction generation parameters. Depending on the value of Final, the generation parameters are set to "yes" or "no".
• Fixed: modeled by the XSD Value generation parameter, which contains the default value for the element, and by the IsChangeable attribute, which should be initialized to "frozen".
• Form: represented by the XSD Form generation parameter. If the element is qualified, the parameter is set to "Qualified". Otherwise, it is set to "Unqualified".
• MaxOccurs: represented by the maximum multiplicity of the class role.
• MinOccurs: represented by the minimum multiplicity of the class role.
• Name: modeled by the name of the role.
• Nillable: modeled by the XSD Nillable generation parameter. If the attribute is nil, the parameter value is "yes". Otherwise, it is "no".
• Ref: modeled by the reference link between class roles. This is the "Referenced Role/Referencing Role" link.
• SubstitutionGroup: modeled by the Overloaded role link. This link is already used to overload elements by restriction. The IsSubstituableTo link attribute is "yes" if the element is substituted for another element, and is "no" if the element overloads another element.
• Type: modeled by the class with which the class role is associated.
Child
ComplexType
The local definition of the type is represented by the "UML Nested Class" link. The class is therefore contained in the associated class.
SimpleType
The local definition of the type is represented by the "UML Nested Class" link. The class is therefore contained in the associated class.