Subject: Re: [xsl] Grouping with keys From: omprakash.v@xxxxxxxxxxxxx Date: Mon, 6 Feb 2006 12:30:52 +0530 |
Hi, See if this is what you want. <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output encoding="ISO-8859-1"/> <xsl:template match="sect"> <sect> <title> <xsl:for-each select="p[pPr/pStyle/@val='Heading1']"> <xsl:value-of select="r/t"/> </xsl:for-each> </title> <programlisting> <xsl:for-each select="p[pPr/pStyle/@val='Programlisting']"> <xsl:value-of select="r/t"/> </xsl:for-each> </programlisting> </sect> </xsl:template> </xsl:stylesheet> The result I got was: <?xml version="1.0" encoding="ISO-8859-1"?> <sect> <title>Erste Ueberschrift</title> <programlisting><HTML> <HEAD></programlisting> </sect> Hope this helps. cheers, prakash "Silvia Liberto" <SLiberto@xxxxxx To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > cc: (bcc: omprakash.v/Polaris) Subject: [xsl] Grouping with keys 02/03/2006 09:40 PM Please respond to xsl-list Hello all, i have a grouping problem. I want to group in this example p with val="Heading1" and p with val="Programlisting". I have problems with the programlisting, i think my "match" is not correct. I4ve tried several things but nothing works, have someone an idea what4s wrong!? Thanx Silvia here is my code: xml: <?xml version="1.0" encoding="ISO-8859-1"?> <wordDocument> <body> <sect> <p> <pPr> <pStyle val="Heading1"/> </pPr> <r> <t>Erste Ueberschrift</t> </r> </p> <p> <pPr> <pStyle val="Programlisting"/> </pPr> <r> <t><HTML></t> </r> </p> <p> <pPr> <pStyle val="Programlisting"/> </pPr> <r> <t> <HEAD></t> </r> </p> </sect> </body> </wordDocument> Xslt: <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:key name="heading" match="wordDorcument/body/sect/p" use="generate-id((preceding-sibling::p[pPr/pStyle/@val='Heading1'" /> <xsl:key name="prog" match="pPr/pStyle/@val='Programlisting'" use="generate-id((preceding-sibling::p[pPr/pStyle/@val='Programlisting'" /> <xsl:template match="p"> <xsl:choose> <xsl:when test="pPr/pStyle/@val='Heading1'"> <title> <xsl:value-of select="r/t"/> </title> </xsl:when> <xsl:when test="pPr/pStyle/@val='Programlisting'"> <programlisting> <xsl:for-each select="key('prog',generate-id())"> <xsl:value-of select="r/t"/> </xsl:for-each> </programlisting> </xsl:when> </xsl:choose> </xsl:template> </xsl:stylesheet> -- 10 GB Mailbox, 100 FreeSMS/Monat http://www.gmx.net/de/go/topmail +++ GMX - die erste Adresse f|r Mail, Message, More +++ This e-Mail may contain proprietary and confidential information and is sent for the intended recipient(s) only. If by an addressing or transmission error this mail has been misdirected to you, you are requested to delete this mail immediately. You are also hereby notified that any use, any form of reproduction, dissemination, copying, disclosure, modification, distribution and/or publication of this e-mail message, contents or its attachment other than by its intended recipient/s is strictly prohibited. Visit Us at http://www.polaris.co.in
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Is standalone for DTD only?, Jesper Tverskov | Thread | Re: [xsl] Grouping with keys, Silvia Liberto |
Re: [xsl] Determined to grok the bu, Sebastian Tennant | Date | [xsl] How to transform xml using xs, rob Jackson |
Month |