Subject: [xsl] Grouping based on child value From: "rick@xxxxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Thu, 5 Jun 2025 18:48:47 -0000 |
Hi all, Here is my XML: <?xml version="1.0" encoding="UTF-8"?> <root> <record> <col1>PG</col1> </record> <record> <col1>1</col1> </record> <record> <col1>2</col1> </record> <record> <col1>PG</col1> </record> <record> <col1>3</col1> </record> <record> <col1>4</col1> </record> </root> I want to group all of the <record> elements, starting with col1[starts-with(.,'PG')]. I am expecting 2 groups of 3 record elements each. Here is my style sheet: <?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" exclude-result-prefixes="xs" version="3.0" expand-text="yes"> <xsl:output indent="yes"/> <xsl:template match="root"> <xsl:copy> <xsl:message select="count(record[col1[starts-with(.,'PG')]])"></xsl:message> <xsl:for-each-group select="record" group-starting-with="descendant::col1[.='PG']"> <group></group> </xsl:for-each-group> </xsl:copy> </xsl:template> </xsl:stylesheet> However, my result is a single group: <?xml version="1.0" encoding="UTF-8"?> <root> <group/> </root> Any help would be appreciated. Thank you. Rick Quatro
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] [ANN] Come speak at Balisage , Tommie Usdin btusdin | Thread | Re: [xsl] Grouping based on child v, Martin Honnen martin |
[xsl] [ANN] Come speak at Balisage , Tommie Usdin btusdin | Date | Re: [xsl] Grouping based on child v, Martin Honnen martin |
Month |