[Home] [By Thread] [By Date] [Recent Entries]
My attempt at duplicate removal is failing in that it removes more than I
want it to. Listing 2 is the input file. The output file should have one of
the two duplicate initial <item>s removed (Listing 1), everything else
should stay. My broken template is in Listing 3. It removes one of the
duplicates and two of the three non-duplicate <Item> s. (see Listing 4).
Can someone help me fix my template? Thanks, Mark Listing 1.
<Item>
<Heading entry="subject">Monasteries</Heading>
<Xref xref="see">
<Heading entry="subject">Abbeys and Monasteries</Heading>
</Xref>
</Item>Listing 2. <List>
<Item>
<Heading entry="subject">Monasteries</Heading>
<Xref xref="see">
<Heading entry="subject">Abbeys and Monasteries</Heading>
</Xref>
</Item>
<Item>
<Heading entry="subject">Monasteries</Heading>
<Xref xref="see">
<Heading entry="subject">Abbeys and Monasteries</Heading>
</Xref>
</Item>
<Item>
<Heading entry="subject">Abbeys and Monasteries</Heading>
<Level1>
<SubDiv1>St Nicholas. Postal Card</SubDiv1>
</Level1>
</Item>
<Item>
<Heading entry="subject">Abbeys and Monasteries</Heading>
<Level1>
<SubDiv1>Porta Coeli</SubDiv1>
</Level1>
</Item>
<Item>
<Heading entry="subject">Abbeys and Monasteries</Heading>
<Level1>
<SubDiv1>Porta Coeli</SubDiv1>
</Level1>
</Item>
<Item>
<Heading entry="subject">Abbeys and Monasteries</Heading>
<Level1>
<SubDiv1>Strahov</SubDiv1>
<Level2>
<SubDiv2>Strahov Madonna</SubDiv2>
</Level2>
</Level1>
</Item>
</List>Listing 3. <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" exclude-result-prefixes="xs" version="2.0"> <xsl:strip-space elements="*"/> <xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template><xsl:template match="/"> <List> <xsl:for-each-group select="//Item" group-by="concat(Heading, Xref/Heading)"> <xsl:copy-of select="current-group()[1]" copy-namespaces="no"/> </xsl:for-each-group> </List> </xsl:template> </xsl:stylesheet> Listing 4. <List> <Item> <Heading entry="subject">Abbeys and Monasteries</Heading> <Level1> <SubDiv1>St Nicholas. Postal Card</SubDiv1> </Level1> </Item> <Item> <Heading entry="subject">Monasteries</Heading> <Xref xref="see"> <Heading entry="subject">Abbeys and Monasteries</Heading> </Xref> </Item> </List>
|

Cart



