这是我第一次涉足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参数的值.它本身似乎是一个与名称为XPath的类似参数略有不同的builddir表达式,但该参数似乎并不存在于管道模式中的任何地方.整个项目可能涉及太多,不能包含在堆栈交换问题中,但也许有人可以为我指出正确的方向…
同样,上面的代码也被缩写了。完整的.xml可以找到这里。
发布于 2016-10-12 17:24:33
在XNAT中,有些字段是“免费”的,在管道XML中没有显示可解释性。对于任何其他需要照明的用户,您可以检查XNAT用户组上的这个职位。
https://stackoverflow.com/questions/39132247
复制相似问题