Subject: RE: [xsl] Grouping with keys From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx> Date: Thu, 24 Oct 2013 15:01:07 -0400 |
Here is a simplified example:
t:\ftemp>type rick.xml <body> <li>one</li> <li>two</li> <p>paragraph</p> <li>three</li> <li>four</li> <p>paragraph</p> <li>five</li> <li>six</li> </body> t:\ftemp>call xslt rick.xml rick.xsl <?xml version="1.0" encoding="utf-8"?> <body> <ol> <li>one</li> <li>two</li> </ol> <p>paragraph</p> <ol> <li>three</li> <li>four</li> </ol> <p>paragraph</p> <ol> <li>five</li> <li>six</li> </ol> </body> t:\ftemp>type rick.xsl <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:key name="li" match="li" use="generate-id((..|preceding-sibling::p[1])[last()])"/>
<xsl:template match="body"> <body> <xsl:for-each select=".|p"> <xsl:copy-of select="self::p"/> <xsl:if test="key('li',generate-id(.))"> <ol> <xsl:copy-of select="key('li',generate-id(.))"/> </ol> </xsl:if> </xsl:for-each> </body> </xsl:template>
</xsl:stylesheet> t:\ftemp>rem Done!
-- Public XSLT, XSL-FO, UBL & code list classes: Melbourne, AU May 2014 | Contact us for world-wide XML consulting and instructor-led training | Free 5-hour lecture: http://www.CraneSoftwrights.com/links/udemy.htm | Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/ | G. Ken Holman mailto:gkholman@xxxxxxxxxxxxxxxxxxxx | Google+ profile: https://plus.google.com/116832879756988317389/about | Legal business disclaimers: http://www.CraneSoftwrights.com/legal |
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Grouping with keys, Rick Quatro | Thread | RE: [xsl] Grouping with keys, Rick Quatro |
RE: [xsl] Grouping with keys, Rick Quatro | Date | Re: [xsl] Off Topic : XSLT Jobs in , Mailing Lists Mail |
Month |