xml - XSLT - how to group output by common child element value in XSLT 2.0 -
i have xml file below may have multiple records common child element so:
<person> <name>alice</name> <account>001</account> </person> <person> <name>alice</name> <account>002</account> </person>
how transform below using xslt 2.0?
<person> <name>alice</name> <account>001,002</account> </person>
i'm new xslt please excuse potentially novice question. guidance appreciated here. in advance.
you can use for-each-group
group person
elements, , separator
attribute on value-of
build comma-separated value:
<xsl:for-each-group select="person" group-by="name"> <person> <xsl:sequence select="name" /><!-- copy name element --> <account> <xsl:value-of select="current-group()/account" separator="," /> </account> </person> </xsl:for-each-group>
(assuming current context node parent of person
elements - if not you'll have adjust for-each-group
select
expression appropriately)
Comments
Post a Comment