前页 | 后页 |
抽象类模型中的XML
您只能使用简单的抽象类模型对XML模式进行建模。例如,这使架构师可以在更高的抽象层次上开始工作而无需担心Schema的实现细节。虽然随后可以使用工具箱的“ XML Schema”页面完善这种抽象模型,但也可以直接由Enterprise Architect的Schema Generator生成该抽象模型,在这种情况下,Schema Generator应用一组默认映射来转换XSD文件的抽象模型。
例
结构体 |
详情 |
---|---|
图表 |
这是早期Employee Details示例模型的简单Class元素版本。它不使用特定于XSD的构造型或标记值。
|
架构图 |
可以从示例模型生成此架构片段: <?xml version =“ 1.0”?> <xs:schema xmlns:xs =“ http://www.w3.org/2001/XMLSchema”> <xs:simpleType name =“ Status”> <xs:restriction base =“ xs:string”> <xs:enumeration value =“全职” /> <xs:enumeration value =“ Part-Time” /> <xs:enumeration value =“ Casual” /> <xs:enumeration value =“ Contract” /> </ xs:restriction> </ xs:simpleType> <xs:element name =“ Person” type =“ Person” /> <xs:complexType name =“ Person”> <xs:sequence> <xs:element name =“ firstName” type =“ xs:string” /> <xs:element name =“ surName” type =“ xs:string” /> <xs:element name =“ birthDate” type =“ xs:string” /> <xs:element name =“ gender” type =“ xs:string” /> <xs:element name =“ contactDetails” type =“ ContactInfo” /> </ xs:sequence> </ xs:complexType> <xs:element name =“ Employee” type =“ Employee” /> <xs:complexType name =“ Employee”> <xs:complexContent> <xs:extension base =“ Person”> <xs:sequence> <xs:element name =“ status” type =“ Status” /> <xs:element name =“ jobTitle” type =“ xs:string” /> <xs:element name =“ startDate” type =“ xs:date” /> <xs:element name =“ department” type =“ xs:string” /> </ xs:sequence> </ xs:extension> </ xs:complexContent> </ xs:complexType> <xs:element name =“ EmployeeRecords” type =“ EmployeeRecords” /> <xs:complexType name =“ EmployeeRecords”> <xs:sequence> <xs:element name =“ Employee” type =“ Employee” minOccurs =“ 0” maxOccurs =“ unbounded” /> </ xs:sequence> </ xs:complexType> <xs:element name =“ ContactInfo” type =“ ContactInfo” /> <xs:complexType name =“ ContactInfo”> <xs:sequence> <xs:element name =“ homePhone” type =“ xs:string” /> <xs:element name =“ mobilePhone” type =“ xs:string” /> <xs:element name =“ officePhone” type =“ xs:string” /> <xs:element name =“ email” type =“ xs:string” /> <xs:element name =“ streetAddress” type =“ xs:string” /> </ xs:sequence> </ xs:complexType> </ xs:schema> |