これは私の最初のXML入門です。私はJavaベースのXMLパイプラインの処理構造を理解しようとしていますが、私はXPathの使い方によってちょっと混乱します。基本的な短縮構造は次のとおりです。特に、私はXNATデータベースのためにpipeline schemaの周りに私の頭を包み込むことを試みています。特定のスキーマを理解するためのXPath式の解釈
<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>
要素自体が名前builddir
と同様のパラメータにわずかに異なるXPath式のようですworkdir
パラメータ...の値を選択するために、XPathを使用しているが、そのパラメータはパイプラインスキーマ内のどこにも存在していないようです...全体的なプロジェクトは多分スタック交換の質問に含めるのに少し複雑ですが、おそらく誰かが私を正しい方向に向けることができます...
もう一度上のコードは省略されています。完全な.xmlはhereです。
私はXNATが何であるか知らないし、そのWebサイトはそれが何であるかを知らない人には役に立たない試みはしていない。 (私はSOタグの拡張から何か他の情報より多くの情報を得ました)。要点は、このXMLまたはXMLを理解するためには、直感とドキュメントが混在している必要があります。はい、このXMLがXPath式を使用してドキュメントのある部分から別の部分に何らかの形でリンクしているかのように見えます。それを超えて、あなたの推測は私のものと同じくらい良いです。あなたの質問は何ですか? –
XNATはpostgresを使用して画像を整理し保存するwebappデータベースです。また、これらのパイプライン(イメージがアップロードされたときに自動的に実行する操作)を実行するJavaベースのエンジンもあります。この場合、ここでの目標は1つのイメージ形式から別のイメージ形式への変換です。パイプラインエンジンは、何らかの形でXMLを使用して、手動で変換を行うためにコマンドラインに入力するものと同じものを作成します。私は明示的な質問があります: 'builddir'をどこで探すべきですか? –
もっと良い質問は、「このXPath式は何に解決されていますか?/name/'sessionId'] /値/ユニーク/テキスト(/)/ ^/concat(/パイプライン/パラメータ/パラメータ[name = 'builddir'] /値/ユニーク/テキスト()、 '/' ))^ ' –