如何在Enterprise Architect

时间:2017-03-10 09:09:26

标签: xsd enterprise-architect

我在Enterprise Architect中使用标准UML,并希望从模型中生成xsd。我知道我可以将模型转换为具有XSDComplexType构造型等的类型并在之后修改它(每次在转换后?)或直接附加它们但我希望尽可能多地与xsd无关。

这是我在使用UML类时得到的,value是属性:

<xs:complexType name="Longitude">
    <xs:sequence>
        <xs:element name="value" type="xs:double" minOccurs="1" maxOccurs="1"/>
    </xs:sequence>
</xs:complexType>

这是我在使用UML枚举时得到的结果:

<xs:simpleType name="Longitude">
    <!-- where to define that? e.g. to be double instead, string is default -->
    <xs:restriction base="xs:string"/>
</xs:simpleType>

这是我想要的输出而不是上面的内容:

<xs:simpleType name="Longitude">
    <xs:restriction base="xs:double">
        <minInclusive value="0.0"/>
        <maxInclusive value="359.99999999"/>        
    </xs:restriction>
</xs:simpleType>

使用什么UML类型以及&#34;字段/标记&#34;用于想要的输出?

2 个答案:

答案 0 :(得分:1)

没有标准可用的直接UML到XML Schema转换。

要在EA中执行此操作,您需要使用从UML模型到XSD模型的MDA转换,然后从此XSD模型生成XML模式。

另一个选择是使用Schema Composer,但这样可以减少对生成的XSD的控制。

答案 1 :(得分:0)

您应该使用构造型XSDsimpleType(而不是XSDCOmplexType)。输入对标签值的限制。

详细了解EA: Simple Type中的限制和Tagged Values中的标记。