解释 XPath 表达式以了解特定模式
Interpreting an XPath expression to understand a particular schema
这是我第一次涉足 XML。我试图理解基于 Java 的 XML 管道处理结构,但我对 XPath 的用法有点困惑.. 基本缩写结构如下。特别是,我正在尝试围绕 XNAT 数据库的 pipeline schema 进行思考。
<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 来 select workdir
参数的值...它本身似乎是一个略有不同的 XPath 表达式到名称为 builddir
的类似参数,但该参数似乎不存在于管道模式中的任何地方......整个项目可能有点过于复杂,无法包含在堆栈交换问题中,但也许有人可以给我指出正确的方向...
同样,上面的代码已经过缩写。可以找到完整的 .xml here.
在 XNAT 中为 'free' 提供的某些字段在管道 XML 中并未明确显示。对于其他需要照明的人,您可以在 XNAT 用户组上查看 this post。
这是我第一次涉足 XML。我试图理解基于 Java 的 XML 管道处理结构,但我对 XPath 的用法有点困惑.. 基本缩写结构如下。特别是,我正在尝试围绕 XNAT 数据库的 pipeline schema 进行思考。
<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 来 select workdir
参数的值...它本身似乎是一个略有不同的 XPath 表达式到名称为 builddir
的类似参数,但该参数似乎不存在于管道模式中的任何地方......整个项目可能有点过于复杂,无法包含在堆栈交换问题中,但也许有人可以给我指出正确的方向...
同样,上面的代码已经过缩写。可以找到完整的 .xml here.
在 XNAT 中为 'free' 提供的某些字段在管道 XML 中并未明确显示。对于其他需要照明的人,您可以在 XNAT 用户组上查看 this post。