|
Subject: [xsl] Selecting non-duplicate nodes From: "Mark" <mark@xxxxxxxxxxxx> Date: Wed, 12 Oct 2011 08:33:46 -0700 |
<FormatPage souvenir-sheet="365">
<FormatButtons>
<Formats se-tenant="365"/>
<Formats se-tenant="365"/>
<Formats coupon="367"/>
<Formats coupon="368"/>
</FormatButtons>
</FormatPage><FormatPage souvenir-sheet="365">
<FormatButtons>
<Formats se-tenant="365"/>
<Formats coupon="367"/>
<Formats coupon="368"/>
</FormatButtons>
</FormatPage>Thanks,
Mark
------------------------------------------------------
[Input file and stylesheet]
---------------------------------------------
<Input>
<Set>
<Stamp>
<CatNumbers pofis-number="105"/>
<Formats souvenir-sheet="105"/>
<Formats se-tenant="105"/>
</Stamp>
<Stamp>
<CatNumbers pofis-number="106"/>
<Formats souvenir-sheet="105"/>
<Formats se-tenant="105"/>
</Stamp>
<Stamp>
<CatNumbers pofis-number="107"/>
<Formats souvenir-sheet="105"/>
<Formats se-tenant="107"/>
</Stamp>
<Stamp>
<CatNumbers pofis-number="108"/>
<Formats souvenir-sheet="105"/>
<Formats se-tenant="107"/>
</Stamp>
</Set>
<Set>
<Stamp>
<CatNumbers pofis-number="146"/>
<Formats souvenir-sheet="146"/>
<Formats se-tenant="146"/>
</Stamp>
<Stamp>
<CatNumbers pofis-number="147"/>
<Formats souvenir-sheet="146"/>
<Formats se-tenant="146"/>
</Stamp>
<Stamp>
<CatNumbers pofis-number="148"/>
<Formats souvenir-sheet="146"/>
<Formats se-tenant="146"/>
</Stamp>
</Set>
<Set>
<Stamp>
<CatNumbers pofis-number="244"/>
<Formats coupon="244"/>
</Stamp>
<Stamp>
<CatNumbers pofis-number="245"/>
<Formats souvenir-sheet="245"/>
</Stamp>
</Set>
<Set>
<Stamp>
<CatNumbers pofis-number="365"/>
<Formats souvenir-sheet="365"/>
<Formats se-tenant="365"/>
</Stamp>
<Stamp>
<CatNumbers pofis-number="366"/>
<Formats souvenir-sheet="365"/>
<Formats se-tenant="365"/>
</Stamp>
<Stamp>
<CatNumbers pofis-number="367"/>
<Formats souvenir-sheet="365"/>
<Formats coupon="367"/>
</Stamp>
<Stamp>
<CatNumbers pofis-number="368"/>
<Formats souvenir-sheet="365"/>
<Formats coupon="368"/>
</Stamp>
</Set>
</Input>-------------------- <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xd="http://www.oxygenxml.com/ns/doc/xsl" exclude-result-prefixes="xs xd" version="2.0">
<xsl:strip-space elements="*"/>
<xsl:template match="Input">
<xsl:element name="Output">
<xsl:apply-templates/>
</xsl:element>
</xsl:template><xsl:template match="Set"> <!-- <xsl:apply-templates mode="stamp"/> --> <xsl:apply-templates mode="formats"/> </xsl:template>
<xsl:template match="Stamp" mode="formats"> <xsl:apply-templates mode="formats"/> </xsl:template>
<xsl:template match="Formats" mode="formats">
<xsl:if test="@* eq ../CatNumbers/@pofis-number">
<xsl:element name="FormatPage">
<xsl:copy-of select="@*"/>
<xsl:variable name="format" select="name(@*)"/>
<xsl:variable name="number" select="@*"/>
<xsl:element name="FormatButtons">
<xsl:for-each-group select="../../Stamp" group-by="Formats">
<xsl:for-each select="current-group()">
<xsl:if test="Formats/@*[name(.)=$format]=$number">
<Formats>
<xsl:copy-of select="Formats/@*[not(name(.)=$format)]"/>
</Formats>
</xsl:if>
</xsl:for-each>
</xsl:for-each-group>
</xsl:element>
</xsl:element>
</xsl:if>
</xsl:template>| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] superfluous xmlns, Andrew Welch | Thread | Re: [xsl] Selecting non-duplicate n, Michael Kay |
| Re: [xsl] superfluous xmlns, Andrew Welch | Date | Re: [xsl] Selecting non-duplicate n, Michael Kay |
| Month |