XSLTパラメーターとして格納されているノードセットを使用して1つのXMLドキュメントを別のXMLドキュメントに変換する必要があるという要件があります。
入力:
<m:addCustomer xmlns:p="http://test.org"/>
予想される出力形式:
<m:addCustomer xmlns:p="http://test.org"/>
<m:e1>some_value1</m:e1>
<m:e2>some_value2</m:e2>
<m:e3>some_value3</m:e3>
</m:addCustomer>
私が直面している問題は、「期待される出力」形式のコンテンツを渡すことができる唯一の方法は、次のようにXSLTパラメーターを使用することです。
<xsl:param name="testParam" xmlns:m="http://test.org">
<m:customerData>
<m:e1>some_value1</m:e1>
<m:e2>some_value2</m:e2>
<m:e3>some_value3</m:e3>
</m:customerData>
</xsl:param>
これまでのところ、次のXSLT構成を試しましたが成功しませんでした。
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" encoding="utf-8" indent="no"/>
<xsl:param name="testParam">
<![CDATA[<m:customerData xmlns:m="http://cclk.lk">
<m:e1>dfdf</m:e1>
<m:e2>dfdf</m:e2>
<m:e3>dfdf</m:e3></m:customer>]]>
</xsl:param>
<xsl:template match="/" xmlns:m="http://cclk.lk">
<m:addCustomer>
<xsl:value-of select="$testParam" disable-output-escaping="yes"/>
<xsl:apply-templates select="m:customerData"/>
</m:addCustomer>
</xsl:template>
<xsl:template match="m:customerData" xmlns:m="http://cclk.lk">
<m:addUser>
<xsl:for-each select="m:customer/*">
<m:e1>
<xsl:value-of select="e1"/>
</m:e1>
<m:e2>
<xsl:value-of select="e2"/>
</m:e2>
<m:e3>
<xsl:value-of select="e3"/>
</m:e3>
</xsl:for-each>
</m:addUser>
</xsl:template>
</xsl:stylesheet>
現在、これを行う方法を見つけることができません。これに関する助けに感謝します。
よろしく、プラバス