[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: Duplicate Nodes in XSL and transform them
> -A template that takes any node and copies it -Each copy has > to replace a string "replaceMe" with the string "replaced" + > i. ( 'i' being the iteration of the copy) Generally, it's reasonably easy to generate numbers that are computed by reference to the position of a node in the source tree. In some special cases you can also use position() to generate a number that reflects the position in the result tree. But in the general case, this kind of problem is best tackled as a two-pass transformation, in which you generate the numbers in the second pass. For example, rather than inserting a sequential number, insert <n/>, and then in the second pass do a "modified copy" transformation with <xsl:template match="n"> <xsl:number level="any"/> </xsl:template> (You can do a two-pass transform with two stylesheets, or within a single stylesheet, whichever is most convenient. Using two stylesheets is a bit harder to set up but gives you more reusable code.) Michael Kay http://www.saxonica.com/
|
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
|