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 |