XSD PSMへの変換をカスタマイズしようとしました。カスタマイズの1つに、ソース属性のXSDAttributesの使用法が含まれています。これは非常にうまくいくが、私は列挙に関する単一の執拗な問題がある。 私のPIMには、PSMに正しく変換されたいくつかのUML列挙とXSDSimpleTypesが含まれています。しかし、私のPIMが属性タイプのような列挙型を持つクラス属性を含んでいる場合、変換はうまくいくようですが、PSMの属性タイプが生成されたenumに接続されていないように見えます。これにより、次のXSDスキーマ生成時に警告が表示されます。「XSD型が見つかりません: 'Color'。デフォルトはxs:string」です。 PSMで手動で列挙型 "色"を手動で選択すると、スキーマの生成は警告なしで行われます。 simpleTypesでは問題はなく、うまく動作します。Enterprise Architect:MDAからXSDへの変換で列挙属性が破損する
属性変換のおそらく関連部分は、クラス変換の
Attribute {
[...]
name=%qt%$attName%qt%
scope="Public"
type=%qt%%attType%%qt%
stereotype="XSDattribute"
おそらく関連する部分が
%if elemType == "Class"%
Class
%else%
Enumeration
%endIf%
{
name=%qt%%className%%qt%
仲介ファイルの関連部分があるです:
Class
{
name="Apple"
stereotype="XSDcomplexType"
[...]
Attribute
{
[...]
name="color"
scope="Public"
type="Color"
stereotype="XSDattribute"
[...]
}
}
Enumeration
{
[...]
name="Color"
stereotype="enumeration"
[...]
}
私が変態を混乱させた場所を教えてください。
よろしく、 ステファン
は、あなたはスクリプトからXSDを作成する方法について考えたことはありますか?私はこれを2回以上行い、Sparxのこの厄介な独自のスクリプティングのものを使用するよりもずっと快適に感じました。 –