0

ソフトウェア インターフェイス仕様のマスター タイプ定義ファイルとして使用されている一連の 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 Spy は、Visual Studio と同様にこれを適切に解釈します (ただし、VS には望ましくない癖がいくつかあります)。ただし、これを EA にインポートすると、添付のスクリーン クリップに示されているように、純粋なゴミが生成されます。

悪い図
EA クラス図

問題は、この手動で作成された図に示されているように、EA にこれをインポートしてクラスを正しく表示させる方法はありますか? (これが正確に EA が行う方法かどうかはわかりませんが、これは、図に大量の不要な名前を挿入するよりもはるかに優れています)。XML Spy からのビューも許容されます。

希望の図
望ましい EA ダイアグラム

XML Spy からの出力
XML SPY ダイアグラム

4

1 に答える 1