Использование XSLT для преобразования ReqIF в UML

Я пытаюсь преобразовать один документ XML (REQ-IF) в другой документ XML (документ UML-Class-Diagram), используя XSLT.

Моя проблема сейчас заключается в следующем:

REQ-IF предоставляет типы данных как:

<Datatypes>
<DATATYPE-DEFINITION-STRING IDENTIFIER="xyz" LONG-NAME="ABC"
</Datatypes>

и объекты как:

<SPEC-OBJECTS>
<VALUES>
<ATTRIBUTE-VALUE-STRING THE-VALUE="some-value">
          <DEFINITION>
            <ATTRIBUTE-DEFINITION-STRING-REF>xyz</ATTRIBUTE-DEFINITION-STRING-REF>
          </DEFINITION>
</ATTRIBUTE-VALUE-STRING>
</VALUES
<SPEC-OBJECTS>

Это напоминает в моем представлении UML как:

<ownedAttribute xmi:id="some-ID" name="ABC" type="some-ID">

пожалуйста, обратите внимание на ABC и XYZ.

Поэтому я использую для циклического перемещения по объектам, а другой для циклического просмотра значений. Теперь мне нужно взять Datatype-ID из значения, выяснить, какой это Datatype, и записать Datatype-name в выходной файл. Как я могу это сделать?

Огромное спасибо заранее

1 ответ

Пытаться /Datatypes[DATATYPE-DEFINITION-STRING/@IDENTIFIER = current()/ATTRIBUTE-VALUE-STRING/DEFINITION/ATTRIBUTE-DEFINITION-STRING-REF]/DATATYPE-DEFINITION-STRING/@LONG-NAME,

Я признаю, что на самом деле не проверял это, но вы, вероятно, поймете идею. Точка current является доступ к контексту XSLT (элемент VALUES), в отличие от текущего контекста XPath, который активен в фильтре.

Другие вопросы по тегам