前页 | 后页 |
默认UML到XSD的映射
使用抽象的类模型定义简单的架构时, Enterprise Architect架构生成器使用UML到XSD构造的默认映射将UML信息转换为XSD。模式生成器还使用这些默认值在抽象模型中生成未定型的元素。
当使用图工具箱的“ XML架构”页面为XML架构建模时,工具箱元素的构造型和标记值将覆盖默认映射。
结构体
UML构造 |
默认的XSD生产规则 |
---|---|
包 |
为目标Package生成一个Schema元素。如果目标Package包含来自另一个Package的Classes,而另一个Package的Tagged值分别设置为targetNamespace和targetNamespacePrefix,则这些元素将作为Schema元素的属性包括在内。 此外,还会为每个引用的Package创建一个import或include元素:
|
类 |
生成根级元素声明和complexType定义。元素名称和类型与类名称相同。还生成一个XSD序列模型组,以包含作为元素生成的UML属性。 |
属性 |
为每个Class属性声明一个元素。元素名称设置为UML属性名称的名称。它以Class名称为前缀,以使元素唯一。设置minOccurs和maxOccurs属性以反映属性基数。 如果属性引用了另一个Class,则元素声明后跟一个complexType定义,其中包含对适当的complexType的引用。 |
协会 |
为类拥有的每个协会声明一个元素。元素名称设置为关联角色的名称。 minOccurs和maxOccurs属性反映关联的基数。 |
泛化(继承) |
对于单继承,将使用base属性设置为Base类名称的方式生成扩展元素。然后,将子类的UML属性附加到扩展元素内的XSDall模型组。 |
枚举 |
为Enumeration声明一个simpleType元素,并将name属性设置为Enumeration名称。限制元素将基数设置为字符串。每个Enumeration属性都作为XSD Enumeration元素附加到Restriction元素,其值设置为UML属性名称。模式生成器将忽略UML属性的任何类型规范。 |
笔记
- 如果未指定,则minOccurs和maxOccurs属性默认为1
- 如果未指定协会的方向,则假定所有者为来源