Subject: Re: [xsl] captured in a <xsl:for-each> From: "Alexander Gutman" <gutman@xxxxxxxxxxxxxxx> Date: Mon, 23 Jul 2001 19:32:47 +0700 |
23.07.2001 19:08:51 owner-xsl-list wrote: > Hi there! > > I seem to be captured in a for-each loop. Can someone please help me to > escape and get the expected result? > > <xsl:template match="node()|@*"> > <xsl:copy> > <xsl:apply-templates select="node()|@*"/> > </xsl:copy> > </xsl:template> > > <xsl:template match="kapitel"> > <xsl:for-each select="//title"> <!-- "title" is hierarchically above "kapital" --> > <p> > <xsl:apply-templates/> > </p> > </xsl:for-each> > </xsl:template> First of all, the above two template rules "slightly" overlap, since "kapitel" is also a "node()". You should use "priority" attributes to disjoint the rules or reduce the first rule so as it be not applied to "kapitel"s. > I would like to create a <p> tag for each title and within this > paragraph I want to copy all the nodes and attributes as they are in the > source file. Does this mean that you want to produce a copy of the ENTIRE document for each "title" in it? Then you should use a somewhat another approach. As for the rules you specified, they indeed cause a loop whenever a "kapitel" occurs inside a "title": when the "apply-templates" inside your <p> works, the rule for inner "kapitel"s are recursively applied, thus working with all "titles" once again. -- Alexander E. Gutman XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] captured in a <xsl:for-ea, Michael Kay | Thread | [xsl] repetition using for-each (an, Kris Kolodziej |
Re: [xsl] is paging transformation , Elise D. | Date | Re: [xsl] captured in a <xsl:for-ea, David Carlisle |
Month |