You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@xalan.apache.org by Michel GOOSSENS <mi...@cern.ch> on 2002/02/14 09:04:02 UTC
question about nodeset extension
I am trying to use the nodeset extension with xalan 2.2, but although I
(think I) have included all possible jar files in my CLASSPATH, I always
get the message
(Location of error unknown)XSLT Error
(javax.xml.transform.TransformerException):
java.lang.NoSuchMethodException: For extension function, could not find
method
org.apache.xml.dtm.ref.DTMNodeIterator.nodeset([ExpressionContext,] ).
Hence my question, in which of the jar files is the nodeset extension
defined.
My XSL code to trnasform an RTF into a node-set uses the following:
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xalan="http://xml.apache.org/xslt"
extension-element-prefixes="xalan"
version="1.0"
>
.....
<xsl:template name="getchars-xalan">
<!-- First pass over the data: store chars in chars-rtf -->
<xsl:variable name="chars-rtf">
<xsl:element name="fontlist">
<xsl:apply-templates select="g[@style]" mode="getchars"/>
</xsl:element>
</xsl:variable>
<xsl:text> +++ begin chars-rtf 
</xsl:text>
<xsl:for-each select="xalan:nodeset($chars-rtf)//char">
<xsl:value-of select="name(.)"/>
<xsl:text> </xsl:text>
<xsl:value-of select="name(attribute::*[1])"/>
<xsl:text>
</xsl:text>
</xsl:for-each>
<xsl:text> +++ end chars-rtf 
</xsl:text>
...
Thanks for your help. mg
PS:
Here is the contents of my CLASSPATH variable
(/afs/cern.ch/sw/XML/cdrom/xml.apache.org/xalan-j_2_2_0/bin/ is where
all jar files reside), I have edited the list by inlcuding linefeeds to
make it more readable
CLASSPATH =
/afs/cern.ch/sw/XML/cdrom/xml.apache.org/xalan-j_2_2_0/bin/xerces.jar:
/afs/cern.ch/sw/XML/cdrom/xml.apache.org/xalan-j_2_2_0/bin/xalan.jar:
/afs/cern.ch/sw/XML/cdrom/xml.apache.org/xalan-j_2_2_0/bin/xalansamples.jar:
/afs/cern.ch/sw/XML/cdrom/xml.apache.org/xalan-j_2_2_0/bin/xalanservlet.jar:
/afs/cern.ch/sw/XML/cdrom/xml.apache.org/xalan-j_2_2_0/bin/bsf.jar:
/afs/cern.ch/sw/XML/cdrom/xml.apache.org/xalan-j_2_2_0/bin/xsltc.jar:
/afs/cern.ch/sw/XML/cdrom/xml.apache.org/xalan-j_2_2_0/bin/BCEL.jar:
/afs/cern.ch/sw/XML/cdrom/xml.apache.org/xalan-j_2_2_0/bin/java_cup.jar:
/afs/cern.ch/sw/XML/cdrom/xml.apache.org/xalan-j_2_2_0/bin/xml-apis.jar:
/afs/cern.ch/sw/XML/cdrom/xml.apache.org/xalan-j_2_2_0/bin/JLex.jar:
/afs/cern.ch/sw/XML/cdrom/xml.apache.org/xalan-j_2_2_0/bin/runtime.jar:
RE: question about nodeset extension
Posted by Gary L Peskin <ga...@firstech.com>.
Change your xmlns:xalan namespace definition to
xmlns:xalan="http://xml.apache.org/xalan"
as shown at http://xml.apache.org/xalan-j/extensionslib.html#xalanns
Gary
> -----Original Message-----
> From: Michel GOOSSENS [mailto:michel.goossens@cern.ch]
> Sent: Thursday, February 14, 2002 12:04 AM
> To: xalan-dev@xml.apache.org
> Cc: michel.goossens@cern.ch
> Subject: question about nodeset extension
>
>
> I am trying to use the nodeset extension with xalan 2.2, but
> although I
> (think I) have included all possible jar files in my
> CLASSPATH, I always
> get the message
>
> (Location of error unknown)XSLT Error
> (javax.xml.transform.TransformerException):
> java.lang.NoSuchMethodException: For extension function,
> could not find
> method
> org.apache.xml.dtm.ref.DTMNodeIterator.nodeset([ExpressionContext,] ).
>
> Hence my question, in which of the jar files is the nodeset extension
> defined.
>
> My XSL code to trnasform an RTF into a node-set uses the following:
>
> <xsl:stylesheet
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> xmlns:xalan="http://xml.apache.org/xslt"
> extension-element-prefixes="xalan"
> version="1.0"
> >
>
> .....
>
> <xsl:template name="getchars-xalan">
>
> <!-- First pass over the data: store chars in chars-rtf -->
> <xsl:variable name="chars-rtf">
> <xsl:element name="fontlist">
> <xsl:apply-templates select="g[@style]" mode="getchars"/>
> </xsl:element>
> </xsl:variable>
>
> <xsl:text> +++ begin chars-rtf 
</xsl:text>
> <xsl:for-each select="xalan:nodeset($chars-rtf)//char">
> <xsl:value-of select="name(.)"/>
> <xsl:text> </xsl:text>
> <xsl:value-of select="name(attribute::*[1])"/>
> <xsl:text>
</xsl:text>
> </xsl:for-each>
> <xsl:text> +++ end chars-rtf 
</xsl:text>
>
> ...
>
> Thanks for your help. mg
>
> PS:
>
> Here is the contents of my CLASSPATH variable
> (/afs/cern.ch/sw/XML/cdrom/xml.apache.org/xalan-j_2_2_0/bin/ is where
> all jar files reside), I have edited the list by inlcuding
> linefeeds to
> make it more readable
>
> CLASSPATH =
> /afs/cern.ch/sw/XML/cdrom/xml.apache.org/xalan-j_2_2_0/bin/xerces.jar:
> /afs/cern.ch/sw/XML/cdrom/xml.apache.org/xalan-j_2_2_0/bin/xalan.jar:
> /afs/cern.ch/sw/XML/cdrom/xml.apache.org/xalan-j_2_2_0/bin/xal
> ansamples.jar:
> /afs/cern.ch/sw/XML/cdrom/xml.apache.org/xalan-j_2_2_0/bin/xal
> anservlet.jar:
> /afs/cern.ch/sw/XML/cdrom/xml.apache.org/xalan-j_2_2_0/bin/bsf.jar:
> /afs/cern.ch/sw/XML/cdrom/xml.apache.org/xalan-j_2_2_0/bin/xsltc.jar:
> /afs/cern.ch/sw/XML/cdrom/xml.apache.org/xalan-j_2_2_0/bin/BCEL.jar:
> /afs/cern.ch/sw/XML/cdrom/xml.apache.org/xalan-j_2_2_0/bin/jav
> a_cup.jar:
> /afs/cern.ch/sw/XML/cdrom/xml.apache.org/xalan-j_2_2_0/bin/xml
> -apis.jar:
> /afs/cern.ch/sw/XML/cdrom/xml.apache.org/xalan-j_2_2_0/bin/JLex.jar:
> /afs/cern.ch/sw/XML/cdrom/xml.apache.org/xalan-j_2_2_0/bin/run
> time.jar:
>