[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
[Recent Entries]
[Reply To This Message]
Re: Best practice for group-adjacent with quasi-null
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 gepr|ft.
https://www.avast.com/antivirus
|
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
RSS 2.0 |
|
Atom 0.3 |
|
|