0

jet(java エミッター テンプレート) に複数の xml 入力を与えることはできますか? できれば、例を教えてください。

4

1 に答える 1

0

直接行うことはできませんが、入力として複数のXMLを指定するために使用できるいくつかの手法があります。

一方のXMLファイルにもう一方の内部に名前を付けるか、2つの入力(または任意の数)に名前を付けるだけの3番目のXMLファイルを作成できます。JETへの入力XMLで名前が付けられたXMLファイルがあるとします。

<inputs>
   <input name="...full file name here..." />
<inputs>

このファイルをロードして、次のようにJETで使用できます。

<c:load url="{/inputs/input/@name}" var="root"/>

loadタグはファイルを読み取り(デフォルトはXMLですが、他のタイプも入力できます)、指定した変数名(この場合は「root」)を介してその内容を使用できるようにします。通常、url属性はファイル名であるString値を想定していますが、モデル外の属性を使用しているため、ファイル名として使用する属性値を示すために中括弧とxpath表記を使用します。

ファイルをロードすると、その内容にアクセスできます。たとえば、そのXMLファイルのルート要素にcompanyという名前の属性がある場合、属性はc:getを使用してその属性値にアクセスできます。

<c:get select="$root/policies/@company" />

必要な数のファイルをロードできます。異なる変数名を使用して、解析された各ファイルのルートを参照するだけです。

命名規則を使用して、もう少し複雑にし、複数のファイルを同じディレクトリに保存することができます。次に、1つのディレクトリパスを指定して、すべての入力のファイル名を取得できます。

于 2013-03-14T12:27:25.610 に答える