Hi, I want to do simple regular expression matching on an attribute value, which is passed to a javascript extension function as a parameter, but I can't get it working :-(
The javascript seems to recieve the XPath location of the attribute, rather than it's value. E.g. "[EMAIL PROTECTED]" instead of "P1". Relevant parts of the XSL: ---------------8<------------------------- <xalan:component prefix="regexp" functions="match"> <xalan:script lang="javascript"> <![CDATA[ // JS Regexp function match(str, re, flags){ var match = new RegExp(re, flags); return match.test(str) + ", " + str + ", " + re; } ]]> </xalan:script> </xalan:component> <xsl:template match="text:h|text:p"> <xsl:copy> <xsl:attribute name="text:style-name"> <xsl:call-template name="get-style-name"> <xsl:with-param name="STYLE_NAME" select="@text:style-name"/> </xsl:call-template> </xsl:attribute> <xsl:apply-templates select="node()"/> </xsl:copy> </xsl:template> <xsl:template name="get-style-name"> <xsl:param name="STYLE_NAME"/> <xsl:value-of select="regexp:match($STYLE_NAME, 'P\d+')"/> </xsl:template> ---------------8<------------------------- XML fragment: ---------------8<------------------------- <text:p text:style-name="P1">Morality</text:p> ---------------8<------------------------- Output fragment: ---------------8<------------------------- <text:p text:style-name="false, [EMAIL PROTECTED], P\d+">Morality</text:p> ---------------8<------------------------- Expected results: ---------------8<------------------------- <text:p text:style-name="true, P1, P\d+">Morality</text:p> ---------------8<------------------------- Any help would be most appreciated! Cheers, Dave. PS: Output of org.apache.xalan.xslt.EnvironmentCheck attached. -- David Balch. | Web developer. T: +44 (0)1865 286932 | Technology-Assisted Lifelong Learning. F: +44 (0)1865 286922 | University of Oxford. E: [EMAIL PROTECTED] TALL, OUDCE and the University of Oxford accept no legal responsibility for the contents of this message. Any views or opinions presented are only those of the author and not those of TALL, or OUDCE, or the University of Oxford. If this email has come to you in error please delete it and any attachments
#---- BEGIN writeEnvironmentReport($Revision: 1.26 $): Useful stuff found: ---- version.DOM.draftlevel=2.0fd java.class.path=C:\Program Files\Altova\xmlspy\XMLSpyInterface.jar;C:\Program Files\Java\xalan-j_2_6_0\bin\xalan.jar;C:\Program Files\Java\xalan-j_2_6_0\bin\xml-apis.jar;C:\Program Files\Java\xalan-j_2_6_0\bin\xercesImpl.jar;C:\Program Files\Java\xalan-j_2_6_0\bin\xalansamples.jar;C:\Program Files\Java\xalan-j_2_6_0\bin\bsf.jar;C:\Program Files\Java\js.jar version.JAXP=1.1 or higher java.ext.dirs=C:\Program Files\Java\j2re1.4.1_02\lib\ext #---- BEGIN Listing XML-related jars in: foundclasses.sun.boot.class.path ---- xalan.jar-path=C:\Program Files\Java\j2re1.4.1_02\lib\endorsed\xalan.jar xercesImpl.jar-apparent.version=xercesImpl.jar from Xerces-J-bin.2.6.2 xercesImpl.jar-path=C:\Program Files\Java\j2re1.4.1_02\lib\endorsed\xercesImpl.jar xml-apis.jar-apparent.version=xml-apis.jar from tck-jaxp-1_2_0 branch of xml-commons, tag: xml-commons-external_1_2_01 xml-apis.jar-path=C:\Program Files\Java\j2re1.4.1_02\lib\endorsed\xml-apis.jar #----- END Listing XML-related jars in: foundclasses.sun.boot.class.path ----- version.xerces2=Xerces-J 2.6.2 version.xerces1=not-present version.xalan2_2=Xalan Java 2.6.0 version.xalan1=not-present version.ant=not-present java.version=1.4.1_02 version.DOM=2.0 version.crimson=present-unknown-version sun.boot.class.path=C:\Program Files\Java\j2re1.4.1_02\lib\endorsed\xalan.jar;C:\Program Files\Java\j2re1.4.1_02\lib\endorsed\xercesImpl.jar;C:\Program Files\Java\j2re1.4.1_02\lib\endorsed\xml-apis.jar;C:\Program Files\Java\j2re1.4.1_02\lib\rt.jar;C:\Program Files\Java\j2re1.4.1_02\lib\i18n.jar;C:\Program Files\Java\j2re1.4.1_02\lib\sunrsasign.jar;C:\Program Files\Java\j2re1.4.1_02\lib\jsse.jar;C:\Program Files\Java\j2re1.4.1_02\lib\jce.jar;C:\Program Files\Java\j2re1.4.1_02\lib\charsets.jar;C:\Program Files\Java\j2re1.4.1_02\classes #---- BEGIN Listing XML-related jars in: foundclasses.java.class.path ---- xalan.jar-path=C:\Program Files\Java\xalan-j_2_6_0\bin\xalan.jar xml-apis.jar-apparent.version=xml-apis.jar from tck-jaxp-1_2_0 branch of xml-commons, tag: xml-commons-external_1_2_01 xml-apis.jar-path=C:\Program Files\Java\xalan-j_2_6_0\bin\xml-apis.jar xercesImpl.jar-apparent.version=xercesImpl.jar from Xerces-J-bin.2.6.2 xercesImpl.jar-path=C:\Program Files\Java\xalan-j_2_6_0\bin\xercesImpl.jar xalansamples.jar-apparent.version=xalansamples.jar present-unknown-version xalansamples.jar-path=C:\Program Files\Java\xalan-j_2_6_0\bin\xalansamples.jar #----- END Listing XML-related jars in: foundclasses.java.class.path ----- version.SAX=2.0 version.xalan2x=Xalan Java 2.6.0 #----- END writeEnvironmentReport: Useful properties found: ----- # YAHOO! Your environment seems to be OK.