[xsl] Edit text-nodes with XSLT 2.0

Subject: [xsl] Edit text-nodes with XSLT 2.0
From: "Beat Pfister" <pfister.b@xxxxxxxxxxxxxx>
Date: Fri, 7 Apr 2006 11:34:46 +0200
Hi,

I only want to edit the text-nodes of my xml-document, the structure should
stay as is.

With XSLT 1.0 and Xalan 2.4.1, I used the following templates and it works
well.

	 <xsl:template match="@*|node()">	
	   <xsl:copy>
		  <xsl:apply-templates select="@*|node()"/>
	   </xsl:copy>
	</xsl:template>


	 <xsl:template match="text()">		<!-- in the text node the
replacement of characters with font tags is done-->
		 <xsl:choose>
			<xsl:when test="not(string(.))" />	<!-- test if
textcontent is empty -->
		<xsl:otherwise>
			<xsl:call-template name="find_char1"  >		
			Some more stuff ...
			</xsl:otherwise> <!-- end textcontent is not empty
-->
		  </xsl:choose>		
	</xsl:template>

Then I changed to XSLT 2.0 and Saxon 8.6.1 and the templates do not work any
more.
The Error message displayed:
Recoverable error on line 99 of
file:/D:/work/ige/fo/26_spa/../Programme/fo/v_0.7/xmltoxml_font.xsl:
  XTRE0540: Ambiguous rule match for
/ch-patent-document/bibliographic-data[1]/text()[1]
Matches both "text()" on line 108 of
  file:/D:/work/ige/fo/26_spa/../Programme/fo/v_0.7/xmltoxml_font.xsl
and "node()" on line 98 of
file:/D:/work/ige/fo/26_spa/../Programme/fo/v_0.7/xmltoxml_font.xsl


Any help much appreciated.

Regards,
Beat

Current Thread