Интерпретация выражения 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.

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