Subject: Grouping with keys
From: "Silvia Liberto" <SLiberto@xxxxxx>
Date: Fri, 3 Feb 2006 17:10:02 +0100 (MET)
|
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 +++
|