Subject: Re: [xsl] Need an XPath expression which returns all xs:pattern elements containing a regex that permits an unbounded number of characters From: "Liam R. E. Quin liam@xxxxxxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Thu, 4 Apr 2024 23:54:12 -0000 |
On Thu, 2024-04-04 at 15:47 +0000, Roger L Costello costello@xxxxxxxxx wrote: > David Carlisle devised a brilliant approach: One way to make this approach easier to maintain is to use a variable, e.g. in XSLT <xsl:variable name="normalisations" as="element(change)*"> <change><from>\\.</from><to>.</to></change> <change><from>\s+</from><to></to> </xsl:variable> and write a recursive function or template to do the replacements. For those without the XPath 2 constraint, in XPath 3 you can do this: let $replacements := ( [ "a", "b" ], [ "c", "oy" ], [ "bb", "b"] ) return fold-left($replacements, "abc", function($so-far, $this) { replace($so-far, $this(1), $this(2)) }) using an array and fold-left. Sometimes i put the fold-left into a separate function, replace-all-from-array() or something, and also support a third item in each array, flags. 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] Need an XPath expression , David Carlisle d.p.c | Thread | [xsl] [Solution] Need an XPath expr, Roger L Costello cos |
Re: [xsl] Need an XPath expression , Liam R. E. Quin liam | Date | Re: [xsl] Need an XPath expression , C. M. Sperberg-McQue |
Month |