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.

Reply via email to