ソフトウェアインターフェイス仕様のマスタータイプ定義ファイルとして使用されている一連のXSDファイルがあります。私はそれらをクラスモデルとしてEnterprise Architectにインポートしようとしています。エンタープライズアーキテクトのXSDからクラスをインポートする
何らかの理由で、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はこれをうまく解釈します(VSにはいくつかの望ましくない癖があります)。しかし、これをEAにインポートすると、付属のスクリーン・クリップに示されているように、純粋なガベージが生成されます。
質問です:に示すように、2つのクラスが名前の協会と一緒に連結されるEAはこれをインポートして、正しくクラスを表示するために取得する方法は、そこにありますこの手動で作成された図ですか? (これはEAのやり方が正確かどうかわかりませんが、これはダイアグラムにガベージ名を入れたほうがはるかに良いでしょう)。 XMLスパイからのビューも受け入れられます。 UMLとXSDの間に1のマッピング:
これは私が恐れていたものです。 EAがファセットをコード化する方法はありますか? – theMayer
それはどういう意味ですか? –
非常に限られたヘルプファイルから把握できなかったので、これらがEAでどのように設定されるのかを理解しようとしています。http://www.w3schools.com/xml/schema_facets.asp – theMayer