[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Aw: how to make a group-by multiple attributes motionl
Use a composite grouping key that spells out attributes in the required order if the names are known. -- Diese Nachricht wurde von meinem Android Mobiltelefon mit GMX Mail gesendet.Am 25.09.19, 23:44, "Geert Bormans geert@xxxxxxxxxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> schrieb: All, I a streaming XSLT 3.0, I have to group a series of elements by their attribute names and valuesI have issues making the group-by motionless In a simplified example <rows> <row a="val-a-1" b="b-val"/> <row a="val-a-2" b="b-val"/> <row a="val-a-1" b="b-val"/> <row a="val-a-2"/></rows> I need grouping this way <rowgroups> <rowgroup hash="|a=val-a-1|b=b-val"/> <rowgroup hash="|a=val-a-2|b=b-val"/> <rowgroup hash="|a=val-a-2"/></rowgroups> easily achieved this way <xsl:fork> <xsl:for-each-group select="*" group-by="string-join(@*/concat('|', name(), '=', .), '')"> <rowgroup hash="{current-grouping-key()}"/> </xsl:for-each-group> </xsl:fork> but, I could have data like this (third line attribute order swapped) <rows> <row a="val-a-1" b="b-val"/> <row a="val-a-2" b="b-val"/> <row b="b-val" a="val-a-1"/> <row a="val-a-2"/></rows> and this basically gives me a fourth group using the code above So I want to make sure that the attributes order can be controlled when I prepare the group-by, but any sorting attempt I make, leads to the group-by no longer being motionless I would welcome your suggestions Thanks Met vriendelijke groeten, Best regards, Geert Bormans XSL-List info and archiveEasyUnsubscribe (by email) XSL-List info and archiveEasyUnsubscribe (by email)
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|