Page 1 of 1

Xalan nodeset extension in XSLT debugger

Posted: Wed Dec 21, 2005 10:38 pm
by wmillows
Hi,

I am evaluating Oxygen 6.2. I am trying to debug
a xslt with nodeset extension. But, I've got the following error. I am using
Xalan 2.7.0. I've copied bsf.jar and js.jar to Oxygen/lib dir.

Description: The URI http://xml.apache.org/xalan does not identify an external Java class

Posted: Thu Dec 22, 2005 1:04 pm
by sorin_ristache
Hello,

That error message is generated when you run a stylesheet referencing a Xalan extension with the Saxon processor. The nodeset function is a built-in extension so you don't need additional jars. Just select Xalan instead of Saxon in the XSLT engine combo box of the control toolbar. For example the following stylesheet applied to any XML document

Code: Select all

<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
xmlns:xalan="http://xml.apache.org/xalan" exclude-result-prefixes="xalan">
<xsl:template match="/">
<out>
<xsl:variable name="rtf">
<docelem>
<elem1>
<elem1a>ELEMENT1A</elem1a>
<elem1b>,ELEMENT1B</elem1b>
</elem1>
<elem2>
<elem2a>ELEMENT2A</elem2a>
</elem2>
</docelem>
</xsl:variable>
<xsl:for-each select="xalan:nodeset($rtf)/docelem//*">
<xsl:value-of select="name(.)"/>
<xsl:text>,</xsl:text>
</xsl:for-each>
</out>
</xsl:template>
</xsl:stylesheet>
should give the output:

Code: Select all

<out>elem1,elem1a,elem1b,elem2,elem2a,</out>
Regards,
Sorin