|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: Applying a transform to a tranform
> > 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
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








