Subject: Re: [xsl] comparing following nodes and re-structuring. From: "Imsieke, Gerrit, le-tex" <gerrit.imsieke@xxxxxxxxx> Date: Tue, 06 Dec 2011 15:34:30 +0100 |
On 6 December 2011 14:17,<charlieo0@xxxxxxxxxxx> wrote:I could use some help with the following problem.
I have an XML instance that is a long list of table entries. I need to compare text nodes and if they are the same, restructure an aspect of the row. I have been able to write something that will compare only the first following and first preceding rows, but I need to be able to traverse multiple rows until the matching stops. If there is no duplicate NSN, then merely copy the row as is.
Use a for-each-group selecting the nsnindxrow, grouping on the nsn, and within its body use copy-of="current-group()/callout" to get all the callouts for that nsn (the current-grouping-key())
<xsl:template match="nsnindx"> <xsl:copy> <!-- group-by="nsn" assumption: the string value of nsn is unique for every possible combination of fsc and niin --> <xsl:for-each-group select="nsnindxrow" group-by="nsn"> <!-- the context item is the first item in each group, so copy and copy-of work on the first group item and its nsn child, respectively: --> <xsl:copy> <xsl:copy-of select="nsn" /> <xsl:sequence select="current-group()/callout" /> </xsl:copy> </xsl:for-each-group> </xsl:copy> </xsl:template>
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] comparing following nodes, Andrew Welch | Thread | [xsl] XPath "validation", Norm Birkett |
Re: [xsl] comparing following nodes, Andrew Welch | Date | [xsl] XPath "validation", Norm Birkett |
Month |