This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: xml to xml transform


Hi Shimon,

Here's the Muenchian way (see http://www.jenitennison.com/grouping/):
very similar to the one Mike B. showed you, but uses keys to retrieve
the relevant 'row' elements and so will probably be more efficient if
you've got lots of rows.

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                version="1.0">

<xsl:output method="xml" indent="yes"/>

<xsl:key name="rows" match="row" use="@fld" />

<xsl:template match="rows">
   <xsl:for-each select="row[count(.|key('rows', @fld)[1]) = 1]">
      <xsl:element name="{@fld}">
         <xsl:for-each select="key('rows', @fld)">
            <xsl:element name="{@value}"/>
         </xsl:for-each>
      </xsl:element>
   </xsl:for-each>
</xsl:template>

</xsl:stylesheet>

I hope that helps,

Jeni

---
Jeni Tennison
http://www.jenitennison.com/



 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]