|
Subject: Re: [xsl] Imagine that the semantics of comparison operations was this From: "Liam R. E. Quin liam@xxxxxxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Sun, 2 Mar 2025 21:29:30 -0000 |
On Sun, 2025-03-02 at 15:24 +0000, Roger L Costello costello@xxxxxxxxx
wrote:
>
> <xsl:variable name="isDifferent" select="$FIRST ne $SECOND"
> as="xs:boolean"/>
> <xsl:variable name="APPEND" as="xs:string?">
> B B B <xsl:if test="$isDifferent eq true()">
> B B B B B B B <xsl:sequence select="concat($FIRST, $SECOND)"/>
> B B B </xsl:if>
> </xsl:variable>
We could also write,
<xsl:variable name="APPEND" as="xs:string"
select="if ($FIRST ne $SECOND)
then concat($FIRST, $SECOND)
else ''" />
Generally i prefer this to tricks with predicates as it says what is
meant directly.
We could also write a function to do it, e.g.
<xsl:variable name="mitre:append-when-unequal"
as="function($s1 as xs:string, $s2 as xs:string)
as xs:string
{
(: join unequal strings :) B
if ($s1 eq $s2) then ''
else $s1 || $s2
}
"/
and use it in XPath expressions with
$mitr:append-when-unequal(title, $new-title)
or whatever - using functions to give names to ideas helps people
understand what youbve written.
liam
--
Liam Quin,B https://www.delightfulcomputing.com/
Available for XML/Document/Information Architecture/XSLT/
XSL/XQuery/Web/Text Processing/A11Y training, work & consulting.
Barefoot Web-slave, antique illustrations: B http://www.fromoldbooks.org
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] Imagine that the semantic, Dimitre Novatchev dn | Thread | [xsl] Over the years, have you crea, Roger L Costello cos |
| Re: [xsl] Imagine that the semantic, Dimitre Novatchev dn | Date | [xsl] Over the years, have you crea, Roger L Costello cos |
| Month |