Я пытаюсь настроить преобразование в XSD PSM. Одна из настроек содержит использование атрибутов XSDA для атрибутов источника. Это работает отлично, но у меня есть одна настойчивая проблема с перечислениями. My PIM содержит некоторые UML-перечисления и XSDSimpleTypes, которые правильно преобразуются в PSM. Но когда мой PIM содержит атрибут класса с таким перечислением, как тип атрибута, преобразование, похоже, работает нормально, но похоже, что тип атрибута в PSM не связан с генерируемым перечислением. Это заставляет следующее поколение схемы XSD выдавать предупреждение «Warning no XSD type found for:« Color ». По умолчанию: 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. –