xslt 自体の中で xslt メディエーターのプロパティを参照する方法の例はありますか?
ドキュメントによると
プロパティ - オプションのパラメーターを変換に渡すことができます。これらのプロパティは XSL パラメータに対応しており、変換中にアクセスできます。
xslt 自体からこれを参照する方法の例が見つかりません。名前空間http://ws.apache.org/ns/synapseを xslt ドキュメントに追加しましたが、get-property() 関数を解決できません。
xslt 自体の中で xslt メディエーターのプロパティを参照する方法の例はありますか?
ドキュメントによると
プロパティ - オプションのパラメーターを変換に渡すことができます。これらのプロパティは XSL パラメータに対応しており、変換中にアクセスできます。
xslt 自体からこれを参照する方法の例が見つかりません。名前空間http://ws.apache.org/ns/synapseを xslt ドキュメントに追加しましたが、get-property() 関数を解決できません。
シナプス構成に 2 つのプロパティがあるとします。次に、それらを XSLT に渡し、そこから参照します。したがって、シナプス構成内では、
<property name="email" expression="//request/email"/>
<property name="name" expression="//request/name"/>
<xslt key="orderTransformer">
<property name="email" expression="get-property('email')"/>
<property name="name" expression="get-property('name')"/>
</xslt>
ここで、XSLT を参照する方法を説明します。最初にそれらを 2 つのパラメーターとして定義します。
<xsl:param name="email"/>
<xsl:param name="name"/>
必要な場所で $email、$name として使用してください。
XSLT の例
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:ns1="http://wso2.org/sample/shop/order">
<xsl:output method="xml" omit-xml-declaration="yes"/>
<xsl:param name="email"/>
<xsl:param name="name"/>
<xsl:template match="/">
<xsl:apply-templates select="//ns1:AddOrder"/>
</xsl:template>
<xsl:template match="ns1:AddOrder">
<ns1:AddOrder>
<ns1:email>
<xsl:value-of select="$email"/>
</ns1:email>
<ns1:name>
<xsl:value-of select="$name"/>
</ns1:name>
</ns1:AddOrder>
</xsl:template>
</xsl:stylesheet>