Hi, This is the sample that I have tested in the ESB-4.5.0. SNAPSHOT. I crated custom proxy service and gave the path to XSLT document as follows:
<proxy xmlns="http://ws.apache.org/ns/synapse" name="CustomProxy" transports="https,http" statistics="disable" trace="disable" startOnLoad="true"> <target> <inSequence> <xslt key="gov:/event/mapping.xslt" /> <log level="full" /> </inSequence> </target> <description></description> </proxy> *XML document:* <students> <student> <name>Paul</name> <subjects> <subject> <name>Physics</name> </subject> <subject> <name>Chemistry</name> </subject> </subjects> </student> <student> <name>Alice</name> <subjects> <subject> <name>Maths</name> </subject> <subject> <name>Chemistry</name> </subject> </subjects> </student> <student> <name>Bob</name> <subjects> <subject> <name>Art</name> </subject> <subject> <name>Econ</name> </subject> </subjects> </student> </students> *XSLT transformation:* <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="2.0" xmlns:xsl=" http://www.w3.org/1999/XSL/Transform" xmlns:xs=" http://www.w3.org/2001/XMLSchema" xmlns:fn=" http://www.w3.org/2005/xpath-functions" exclude-result-prefixes="xs fn"> <xsl:output method="xml" indent="yes"/> <xsl:key name="keyStudents" match="students/student" use="subjects/subject/name" /> <xsl:template match="/"> <subjects> <xsl:attribute name="xsi:noNamespaceSchemaLocation" namespace=" http://www.w3.org/2001/XMLSchema-instance"/> <xsl:variable name="pathToName" select="students/student/subjects/subject"/> <xsl:variable name="studentName" select="students/student/name"/> <xsl:variable name="root" select="/"/> <xsl:for-each select="distinct-values(/students/student/subjects/subject/name)"> <subject> <xsl:variable name="currentSubject" select="."/> <name> <xsl:value-of select="$currentSubject"/> </name> <students> <xsl:for-each select="key('keyStudents',$currentSubject,$root)"> <student> <name> <xsl:value-of select="name"/> </name> </student> </xsl:for-each> </students> </subject> </xsl:for-each> </subjects> </xsl:template> </xsl:stylesheet> It gives the following error: ERROR - XSLTMediator Fatal error occurred in stylesheet parsing : javax.xml.transform.TransformerException: Could not find function: distinct-values Thanks, Nipuni On Mon, Jun 25, 2012 at 1:50 PM, Nipuni Perera <nip...@wso2.com> wrote: > Hi, > > I tried the above mentioned steps but it didn't work. I also build ESB > from trunk but it gives the same error as ESB-4.0.3. > > Thanks, > Nipuni > > On Thu, Jun 21, 2012 at 8:59 PM, Achala Aponso <ach...@wso2.com> wrote: > >> Hi, >> >> Following steps will provide Xpath 2.0 support for ESB 4.0.3 >> >> 1. Remove xalan-2.7.0.wso2v1.jar in ESB_HOME/lib/endorsed/ >> 2. Remove saxon-8.9.0.wso2v1.jar from >> ESB_HOME/repository/components/plugins >> 3. Copy the saxon9he.jar (which is available at [1]) to lib/endorsed and >> start the server. >> >> [1] >> http://sourceforge.net/projects/saxon/files/Saxon-HE/9.4/SaxonHE9-4-0-3J.zip/download?use_mirror=nchc >> >> Thanks, >> Achala >> >> >> On Thu, Jun 21, 2012 at 8:45 PM, Afkham Azeez <az...@wso2.com> wrote: >> >>> If you remove Xalan & use Saxon, you will get XPath 2.0 support in ESB >>> 4.0.3. >>> >>> >>> On Thu, Jun 21, 2012 at 4:07 PM, Charitha Kankanamge >>> <chari...@wso2.com>wrote: >>> >>>> AFAIK, ESB-4.0.3 does not support Xpath-2.0 >>>> >>>> /Charitha >>>> >>>> On Thu, Jun 21, 2012 at 4:02 PM, Nipuni Perera <nip...@wso2.com> wrote: >>>> >>>>> Hi Charitha, >>>>> >>>>> I am trying ESB 4.0.3 >>>>> >>>>> Thanks, >>>>> Nipuni >>>>> >>>>> >>>>> On Thu, Jun 21, 2012 at 3:57 PM, Charitha Kankanamge < >>>>> chari...@wso2.com> wrote: >>>>> >>>>>> Are you trying ESB trunk (4.5.0) or an older version? Xpath-2.0 is >>>>>> supported by ESB trunk version. >>>>>> >>>>>> /Charitha >>>>>> >>>>>> >>>>>> On Thu, Jun 21, 2012 at 3:46 PM, Nipuni Perera <nip...@wso2.com>wrote: >>>>>> >>>>>>> Hi All, >>>>>>> >>>>>>> I have tried xml transformation in ESB. But it gave me the following >>>>>>> error for xslt function "distinct-values" >>>>>>> >>>>>>> ERROR - XSLTMediator Fatal error occurred in stylesheet parsing : >>>>>>> javax.xml.transform.TransformerException: Could not find function: >>>>>>> distinct-values >>>>>>> >>>>>>> Thanks, >>>>>>> Nipuni >>>>>>> >>>>>>> _______________________________________________ >>>>>>> Dev mailing list >>>>>>> Dev@wso2.org >>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>>> _______________________________________________ >>>> Dev mailing list >>>> Dev@wso2.org >>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>> >>>> >>> >>> >>> -- >>> *Afkham Azeez* >>> Director of Architecture; WSO2, Inc.; http://wso2.com >>> Member; Apache Software Foundation; http://www.apache.org/ >>> * <http://www.apache.org/>** >>> email: **az...@wso2.com* <az...@wso2.com>* cell: +94 77 3320919 >>> blog: **http://blog.afkham.org* <http://blog.afkham.org>* >>> twitter: **http://twitter.com/afkham_azeez*<http://twitter.com/afkham_azeez> >>> * >>> linked-in: **http://lk.linkedin.com/in/afkhamazeez* >>> * >>> * >>> *Lean . Enterprise . Middleware* >>> >>> >>> _______________________________________________ >>> Dev mailing list >>> Dev@wso2.org >>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>> >>> >> >> >> -- >> Achala Aponso >> Software Engineer; WSO2 Inc.; http://wso2.com, >> Email: ach...@wso2.com Mobile: +94 (77) 5234925 >> Blog: http://achala11.blogspot.com/ >> >> >> >> _______________________________________________ >> Dev mailing list >> Dev@wso2.org >> http://wso2.org/cgi-bin/mailman/listinfo/dev >> >> >
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev