Joe Kesselman a écrit :
du********@hotmail.com wrote:
org/apache/xpath/objects/XObject incompatible with
org/apache/xpath/objects/XNodeSet
Xalan will recognize objects which implement the DOM's Element interface
as nodes -- but that probably isn't what you're returning (given that
you're using new Element(), which isn't a DOM method.)
--
() ASCII Ribbon Campaign | Joe Kesselman
/\ Stamp out HTML e-mail! | System architexture and kinetic poetry
Thanks for your answer
I used an other solution for resolving my problem, i use a template
instead of java class
i found the following template :
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:str="http://exslt.org/strings"
extension-element-prefixes="str">
<xsl:template name="str:split">
<xsl:param name="string" select="''" />
<xsl:param name="pattern" select="' '" />
<xsl:choose>
<xsl:when test="not($string)" />
<xsl:when test="not($pattern)">
<xsl:call-template name="str:_split-characters">
<xsl:with-param name="string" select="$string" />
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="str:_split-pattern">
<xsl:with-param name="string" select="$string" />
<xsl:with-param name="pattern" select="$pattern" />
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="str:_split-characters">
<xsl:param name="string" />
<xsl:if test="$string">
<token><xsl:value-of select="substring($string, 1, 1)" /></token>
<xsl:call-template name="str:_split-characters">
<xsl:with-param name="string" select="substring($string, 2)" />
</xsl:call-template>
</xsl:if>
</xsl:template>
<xsl:template name="str:_split-pattern">
<xsl:param name="string" />
<xsl:param name="pattern" />
<xsl:choose>
<xsl:when test="contains($string, $pattern)">
<xsl:if test="not(starts-with($string, $pattern))">
<token><xsl:value-of select="substring-before($string,
$pattern)" /></token>
</xsl:if>
<xsl:call-template name="str:_split-pattern">
<xsl:with-param name="string" select="substring-after($string,
$pattern)" />
<xsl:with-param name="pattern" select="$pattern" />
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<token><xsl:value-of select="$string" /></token>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
and then you can use it in your xsl stylesheet like this :
first we have a treeResult
<xsl:variable name="rtfSplits">
<xsl:call-template name="split" <xsl:with-param name="string"
select="string(.)" />
<xsl:with-param name="pattern" select="string(';')" />
</xsl:call-template>
</xsl:variable>
after tranform in nodeset
<xsl:variable name="vSplits" select="xalan:nodeset($rtfSplits)"/>
and after we can parse
<xsl:value-of select="$vSplits/token[1]"/>
<xsl:value-of select="$vSplits/token[2]"/>
<xsl:value-of select="$vSplits/token[3]"/>