Complex Data Types or Classes
Class Structures
Classes in ArgoUML are analogous to XSD complex data type declarations and their associated elements. It is common in the schema development community to use the keyword/suffix “Type” to differentiate complex data type names from their element cousins.
Class Definition
<xsd:complexType name=”BusinessType”> <xsd:element name=”LegalName” type=”xsd:string”/> <xsd:element name=”DateOriginated” type=”xsd:date”/> </xsd:complexType> <xsd:element name=”Business” type=”BusinessType”/>
Class Generalization/Specialization
<xsd:complexType name=”BusinessType”> <xsd:element name=”LegalName” type=”xsd:string”/> <xsd:element name=”DateOriginated” type=”xsd:date”/> </xsd:complexType> <xsd:complexType name=”RetailBusinessType”> <xsd:complexContent> <xsd:extension base=”BusinessType”> <xsd:sequence> <xsd:element name=”CommoditySold” type=”xsd:string”/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:element name=”Business” type=”BusinessType”/> <xsd:element name=”RetailBusiness” type=”RetailBusinessType”/>
Double Inheritance
As in Java, double inheritance is not allowed in schema.