0

入力 Xml の配列を XSLT 変換によって単一の Xml に変換することは可能ですか?
現在、私は次のコードを使用していますが、これは非常に簡単です。

1 つの Xml -> 1 つの XSLT -> 1 つの出力 Xml

コード

def w = new StringWriter()
TransformerFactory.newInstance()
                  .newTransformer( new StreamSource( new StringReader( xslt ) ) )
                  .transform( new StreamSource( new StringReader( xmlAsString ) ),
                              new StreamResult( w ) )
4

1 に答える 1

0

概念は、1 つの入力ファイル、1 つの変換ファイル、および 1 つの出力ファイルがあるということです。複数の入力ファイルで XSLT 変換を行うことはできないと思います (以前はそれらをマージできましたが、これはあまりエレガントではありません)。

ただし、 document 関数を使用すると、XSLT スタイルシート内のドキュメントに必要な数だけアクセスできます。アクセスしたいすべてのドキュメントを含む入力ファイルを定義します。

<files>
   <file>
     <path>File1.xml</path>
   </file>

   <file>
     <path>File2.xml</path>
   </file>
</files>

このファイルを入力ファイルとして受け取り、 document 関数を使用してそれらにアクセスします。

<xsl:template match = "file">
    <xsl:copy-of select="document(./path)/..."/>
</xsl:template>

ドキュメント機能を使用すると、すべての入力ファイルにアクセスし、そこで指定されたノードに変換を適用できます。したがって、任意の数の入力ファイルを処理できます。

于 2013-09-23T14:12:48.087 に答える