0

这是我第一次涉足 XML。我正在尝试理解基于Java的XML管道处理结构,但是我对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参数的值...它本身似乎与具有 name 的类似参数略有不同的 XPath 表达式builddir,但该参数似乎不存在于管道模式......整个项目可能有点过于复杂,无法包含在堆栈交换问题中,但也许有人可以指出我正确的方向......

同样,上面的代码已被缩写。完整的 .xml 可以在这里找到。

4

1 回答 1

0

在 XNAT 中为“免费”提供了某些字段,这些字段在管道 XML 中没有明确显示。对于其他需要照明的人,您可以在 XNAT 用户组上查看此帖子。

于 2016-10-12T17:24:33.980 回答