2016-06-17 118 views
0

從XSD導入I類有一系列的正在使用作爲主類型定義文件的軟件接口規範XSD文件。我試圖將它們作爲類模型導入到Enterprise Architect中。在企業架構師

出於某種原因,所述XSD的原始顯影劑決定列出序列元素的「REF」,而不是直接和引用的定義在一個單獨的XSD文件,從所討論的文件中引用存在。

到目前爲止,有沒有問題,它是標準的XSD語法,示例如下圖所示:

<?xml version="1.0" encoding="UTF-8"?> 
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> 
<xs:include schemaLocation="commonTestElements.xsd"/> 
<xs:element name="someElementName"> 
    <xs:complexType> 
     <xs:sequence> 
      <xs:element ref="someAttributeName" minOccurs="0"/> 
     </xs:sequence> 
    </xs:complexType> 
</xs:element> 
<xs:element name="someOtherElementName" type="xs:boolean"/> 

在中引用的文件(commonTestelements.xsd),我有以下幾點:

<?xml version="1.0" encoding="UTF-8"?> 
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> 
    <!-- element declarations --> 
    <xs:element name="someAttributeName">  
     <xs:simpleType> 
      <xs:restriction base="xs:string"> 
       <xs:minLength value="1"/> 
       <xs:maxLength value="80"/> 
       <xs:whiteSpace value="preserve"/> 
      </xs:restriction> 
     </xs:simpleType> 
    </xs:element> 
</xs:schema> 

XML間諜解釋這只是罰款,一樣的Visual Studio(VS雖然有一些不盡人意的怪癖)。但是,將其導入EA會產生純垃圾,如附加的屏幕片段所示。

壞圖
EA Class Diagram

的問題是:有沒有辦法讓EA導入後,正確顯示類,這將在兩個班,一個名爲協會連接在一起,如圖這個手動創建的圖? (我不知道EA是如何做到這一點的,但是這會比插入圖中的一堆垃圾名好很多)。 XML Spy的觀點也是可以接受的。

希望的圖
Desired EA Diagram

輸出從XML間諜
XML SPY Diagram

回答

2

沒有1:UML和XSD之間1映射。許多工具創建特定映射的事實並不意味着另一個工具獲得相同的結果。 EA的進口商不能修改。所以你唯一的選擇就是寫你自己的進口商(我過去做過,沒那麼難)。

+0

這是我所擔心的。 EA代碼有哪些方面? – theMayer

+0

你是什麼意思? –

+0

試圖找出如何將這些在EA獲取設置,因爲我無法從他們有極其有限的幫助文件弄明白:我看到http://www.w3schools.com/xml/schema_facets.asp – theMayer