Subject: Re: [xsl] Best practice for group-adjacent with quasi-null grouping key? From: "David Sewell dsewell@xxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Tue, 26 Apr 2016 18:47:51 -0000 |
Yes, that seems like the most elegant solution, since for my purposes an empty string and a null attribute are synonymous. Thanks! On Tue, 26 Apr 2016, Martin Honnen martin.honnen@xxxxxx wrote: > On 26.04.2016 20:39, David Sewell dsewell@xxxxxxxxxxxx wrote: >> (Following assumes XSLT 2.0) >> >> I don't use the @group-adjacent form of <xsl:for-each-group> often >> enough to be a master of it. I just ran into the problem that an empty >> sequence is not allowed as the result of evaluating the group-adjacent >> expression. Given data like >> >> <contributor role="author">Joe Jones</contributor> >> <contributor role="author">Mary Mitchell</contributor> >> <contributor role="editor">Betty Berkeley</contributor> >> <contributor role="editor">Peter Parker</contributor> >> >> my first instinct was to use >> <xsl:for-each-group select="contributor" group-adjacent="@role"> >> >> but I got a run-time error because the @role is not always present in my >> data. So I revised to >> >> <xsl:for-each-group select="contributor" group-adjacent="if (@role) >> then string(@role) else 'false'"> >> >> which give the desired results. But is there a better general strategy, >> maybe using boolean false() as the grouping value, and then being sure >> to cast current-grouping-key() as a string whenever a string comparison >> is needed? > > > I would be inclined to simply use > > group-adjacent="string(@role)" > > unless you could have both <el role="">...</el> and <el>...</el> and > would need to distinguish them. > > > --- > Diese E-Mail wurde von Avast Antivirus-Software auf Viren geprC<ft. > https://www.avast.com/antivirus > > -- David Sewell, Editorial and Technical Manager ROTUNDA, The University of Virginia Press PO Box 400318, Charlottesville, VA 22904-4314 USA Email: dsewell@xxxxxxxxxxxx Tel: +1 434 924 9973 Web: http://rotunda.upress.virginia.edu/
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Best practice for group-a, Martin Honnen martin | Thread | Re: [xsl] Best practice for group-a, Eliot Kimber ekimber |
Re: [xsl] Best practice for group-a, Martin Honnen martin | Date | Re: [xsl] Best practice for group-a, Eliot Kimber ekimber |
Month |