SMX4-638: Add example to servicemix-saxon documentation (thanks to iocanel)
git-svn-id: https://svn.apache.org/repos/asf/servicemix/documentation/trunk@1043723 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/webapp/jbi/components/servicemix-saxon.conf b/src/main/webapp/jbi/components/servicemix-saxon.conf
index 5f8d296..04b2826 100644
--- a/src/main/webapp/jbi/components/servicemix-saxon.conf
+++ b/src/main/webapp/jbi/components/servicemix-saxon.conf
@@ -49,11 +49,33 @@
h4. Using properties and parameters
All properties defined on the JBI exchange and input JBI message will be available for use inside the XSLT stylesheet as parameters.
+
In addition to those properties and the one specified in the {{parameters}} property on the endpoint, the following objects are also available:
* {{exchange}} : the JBI exchange
* {{in}} : the input JBI NormalizedMessage
* {{component}} : the XsltEndpoint instance being called
+Below is an example that demonstrates how the properties of the exchange and normalized message can be accessed from inside the xslt.
+{pygmentize:lang=xml}
+<?xml version="1.0" encoding="windows-1253"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0"
+ xmlns:class="http://saxon.sf.net/java-type"
+ xmlns:me="java:javax.jbi.messaging.MessageExchange"
+ xmlns:nm="java:javax.jbi.messaging.NormalizedMessage">
+ <xsl:output method="xml" indent="yes" encoding="ISO-8859-1"/>
+ <xsl:param name="exchange" as="class:javax.jbi.messaging.MessageExchange"/>
+ <xsl:param name="in" as="class:javax.jbi.messaging.NormalizedMessage"/>
+
+ <xsl:template match="/">
+ <message>
+ <!-- The value of messageId will be read from thr property MSG_ID of the "in" NormalizedMessage -->
+ <messageId>
+ <xsl:value-of select="nm:getProperty($in, 'MSG_ID')"/>
+ </messageId>
+ </message>
+</xsl:stylesheet>
+{pygmentize}
+
All those parameters can be accessed using XSLT standard ways using {{<xsl:param/>}}.
h3. Endpoint {{saxon:proxy}}