|
Subject: Re: [xsl] Re: Seeking an elegant XSLT function to check that a pair of numeric ranges are consecutive From: "Wendell Piez wapiez@xxxxxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Sat, 25 May 2024 17:21:06 -0000 |
<xsl:function name="r:do-ranges-connect" as="xs:boolean" xmlns:r="
roger.org">
<xsl:param name="previous-range"/>
<xsl:param name="current-range"/>
<xsl:sequence select="
tokenize($current-range, '-')[last()] ! number() =
(tokenize($previous-range, '-')[1] ! number() + 1)"/>
</xsl:function>
NB this returns true from '1-2','3-4-5'.
Enjoy, Wendell
On Sat, May 25, 2024 at 1:05b/PM Roger L Costello costello@xxxxxxxxx <
xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
> Wow! Below is David Carlisle's solution. He solved the problem in a single
> statement. Totally mind-blowing! Pure elegance!
>
> <xsl:function name="f:do-ranges-connect" as="xs:boolean">
> <xsl:param name="previous-range"/>
> <xsl:param name="current-range"/>
>
> <xsl:sequence select="xs:int(replace($previous-range,'.*-',''))+1=
>
> xs:int(replace($current-range,'-.*',''))"/>
> </xsl:function>
>
>
>
--
...Wendell Piez... ...wendell -at- nist -dot- gov...
...wendellpiez.com... ...pellucidliterature.org... ...pausepress.org...
...github.com/wendellpiez... ...gitlab.coko.foundation/wendell...
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| [xsl] Re: Seeking an elegant XSLT f, Roger L Costello cos | Thread | Re: [xsl] Re: Seeking an elegant XS, Wendell Piez wapiez@ |
| [xsl] Re: Seeking an elegant XSLT f, Roger L Costello cos | Date | Re: [xsl] Re: Seeking an elegant XS, Wendell Piez wapiez@ |
| Month |