Интерпретация выражения XPath для понимания конкретной схемы
Это мой первый набег в XML. Я пытаюсь понять структуру обработки конвейера XML на основе Java, но меня немного смущает использование XPath. Основная сокращенная структура выглядит следующим образом. В частности, я пытаюсь обернуть голову вокруг схемы конвейера для базы данных XNAT.
<Pipeline>
<documentation>
<author>
</author>
<input-parameters>
<parameter>
<name>example_parameter</name>
<values><schemalink>xnat:imageSessionData/ID</schemalink></values>
</parameter>
</input-parameters>
</documentation>
<outputFileNamePrefix>^concat(/Pipeline/parameters/parameter[name='workdir']/values/unique/text(),'/DicomToNifti')^</outputFileNamePrefix>
<loop id="series" xpath="^/Pipeline/parameters/parameter[name='scanids']/values/list^"/>
<parameters>
<parameter>
<name>workdir</name>
<values>
<unique>^concat(/Pipeline/parameters/parameter[name='builddir']/values/unique/text(),'/',/Pipeline/parameters/parameter[name='sessionId']/values/unique/text())^</unique>
</values>
</parameter>
</parameters>
</Pipeline>
Если я правильно понимаю, то <outputFileNamePrefix>
элемент использует XPath для выбора значения workdir
параметр... который сам по себе выглядит как выражение XPath, немного похожее на аналогичный параметр с именем builddir
, но этот параметр, кажется, не существует нигде в конвейерной схеме... весь проект, вероятно, слишком сложен, чтобы включить его в вопрос обмена стеками, но, возможно, кто-то может указать мне правильное направление...
Опять же, код выше был сокращен. Полный.xml можно найти здесь.
1 ответ
Существуют определенные поля, которые даны как "свободные" в XNAT, которые не отображаются подробно в конвейерном XML. Для всех, кому требуется освещение, вы можете проверить этот пост в группе пользователей XNAT.