Subject: RE: [xsl] Applying a transform to a tranform From: "Michael Kay" <mhk@xxxxxxxxx> Date: Tue, 9 Sep 2003 23:43:59 +0100 |
> > I have a situation where I would like apply a transform to > the transform of an xml document. Is there a way to do this > in one xslt document? Yes, if your processor offers the node-set extension. The pattern is: <xsl:variable name="temp"> <xsl:apply-templates select="/" mode="phase1"/> </xsl:variable> <xsl:template match="/"> <xsl:apply-templates select="xx:node-set($temp)" mode="phase2"/> </xsl:template> (Of course either phase1 or phase2 can be replaced with the default mode, or you can even run both phases in the same mode, but this needs care.) Michael Kay > > For example the original xml looks like > > <rowset> > <row> > <id>1</id> > <value>value 1</value> > <parent>0</parent> > </row> > <row> > <id>2</id> > <value>value 2</value> > <parent>1</parent> > </row> > <row> > <id>3</id> > <value>value 3</value> > <parent>0</parent> > </row> > </rowset> > > The first transform (which I have written and works) results in: > > <tree> > <branch> > <id>1</id> > <value>value 1</value> > <branch> > <id>2</id> > <value>value 2</value> > </branch> > </branch> > <branch> > <id>3</id> > <value>value3</value> > </branch> > </tree> > > Now in the same xslt document I would like to transform this > into the html code to represent a "tree" control. I have > written the transform document to do this and it works when > supplied with an xml document of the "tree/branch" type. The > problem I am having is making the first transform happen on > the original document and then the second transform on the > first transform results. > > I thought the following logic would work but it doesn't > > <xsl:apply-templates select="rowset"/> -- to transform into > tree like xml <xsl:apply-templates select="tree"/> -- to > transform into html tree control > > It appears as though this is transforming the original doc in > both instances (i.e. the rowset template select doesn't > "pass" the results of its transform forward). > > Is it possible to make the second transform use the results > of the first in the same doc?? Thanks in advance! > > > > > > > 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 -> |
---|---|---|
[xsl] Applying a transform to a tra, Todd Kleine | Thread | Re: [xsl] Applying a transform to a, Wendell Piez |
Re: [xsl] limit count() to nodes wi, M. David Peterson | Date | RE: [xsl] xhtml and ie6, Americo Albuquerque |
Month |