我嘗試自定義到XSD PSM的轉換。其中一個定製包含XSDAttributes用於源屬性的用法。這工作得很好,但我有一個關於枚舉的固定問題。 我的PIM包含一些UML枚舉和XSDSimpleTypes,它們被正確轉換爲PSM。但是當我的PIM包含一個具有屬性類型枚舉類型的類屬性時,轉換似乎可以正常工作,但它看起來像PSM中的屬性類型沒有連接到生成的枚舉。這會導致後續的XSD模式生成警告「警告沒有找到'Color'的XSD類型,默認爲:xs:string」。如果我手動在PSM中手動選擇枚舉「顏色」,則架構生成會通過,不會有任何警告。隨着simpleTypes我沒有問題,並運作良好。屬性轉化企業架構師: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?我不止一次這樣做,並且感覺比使用Sparx中這些尷尬的專有腳本材料更舒服。 –