前页 后页

默认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元素:

  • 如果外部软件包与目标软件包共享相同的targetNamespace标记值,则将使用include元素
  • 在targetNamespaces不同的地方使用import元素

生成根级元素声明和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
  • 如果未指定协会的方向,则假定所有者为来源