Subject: [xsl] Re: node() implementation From: "Dimitre Novatchev" <dnovatchev@xxxxxxxxx> Date: Wed, 11 Jun 2003 20:40:40 +0200 |
In the first solution there is no code that will copy text nodes and the value of attribute nodes to the result tree -- the template matching "node()" is overriding the default rule for text nodes. The main difference between the first template and the second is that the latter matches only element nodes, leaving the default processing (copying the text) of text nodes to the default rule. This is why the text of text nodes is copied into the result tree. Also, the template matching attributes has an explicit xsl:value-of, which copies the value of the current attribute node to the result tree. I hope this helped. ===== Cheers, Dimitre Novatchev. http://fxsl.sourceforge.net/ -- the home of FXSL <Jarkko.Moilanen@xxxxxx> wrote in message news:1055341776.3ee73cd069856@xxxxxxxxxxxxxx > I was given this question: > "I have a difficulty to find an example of stylesheet which strips all xml > tags leaving only text and attributes ( I need it for indexing ) . > It should work with IE. Some examples I picked up from Internet just upset IE." > > So what I suggested was: > > <xsl:stylesheet version="1.0" > xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> > > <xsl:output method="text"/> > > <xsl:template match="node()"> > node:<xsl:apply-templates/> > <xsl:apply-templates select="@*"/> > </xsl:template> > > <xsl:template match="@*"> > attr:<xsl:apply-templates/> > </xsl:template> > </xsl:stylesheet> > > For some reason with MSXML it did not work (produced not values of > node values or attributes. It did work with Xalan C++. > > The following stylesheet is according to a third party working > correctly. > > <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> > > <xsl:output method="text"/> > > <xsl:template match="*"> > node:<xsl:apply-templates select="node()"/> > <xsl:apply-templates select="@*"/> > </xsl:template> > > <xsl:template match="@*"> > attr:<xsl:value-of select="."/> > </xsl:template> > > </xsl:stylesheet> > > > So my question is which processor (well IE aint a processor) > is doing the job correct > > Cheers, > </Jarkko> > > *************************************************** > * Jarkko Moilanen * > * Project Researcher, ITCM (www.itcm.org) * > * Profound XML technology Expert * > * University of Tampere * > * Hypermedia Laboratory * > *************************************************** > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] node() implementation, Jarkko Moilanen | Thread | Re: [xsl] Re: node() implementation, Jarkko Moilanen |
Re: [xsl] xsl:for-each evaluator?, Niko Matsakis | Date | Re: [xsl] xsl fo:block rendering is, Betty Harvey |
Month |