Subject: Re: [xsl] Seek an XPath expression which concatenates an arbitrary number of strings From: "Martin Honnen martin.honnen@xxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Fri, 15 Mar 2024 14:11:51 -0000 |
On 15/03/2024 14:53, Roger L Costello costello@xxxxxxxxx wrote: > I have an XML document containing an arbitrary number of <binary-value> elements: > > <Document> > <binary-value>0100</binary-value> > <binary-value>11</binary-value> > <binary-value>1010001</binary-value> > ... > </Document> > > I want an XPath expression which concatenates the binary values into one long string: > > 0100111010001... > > I thought this would work: > > concat(for $i in //binary-value return $i) > > but that gives an error, "Cannot find a 1-argument function named concat" > > What is the correct XPath, please? > string-join was already suggested but you could also pretend to be sophisticated in higher-order functions and XPath 3.1 operators like || doing e.g. B B B B B B B B B B fold-left(//binary-value, '', function($a, $b) { $a || $b }) I wonder whether XPath 4 allows you to use concat in a more sophisticated way then predefining the number of args with e.g. B B B B B B B apply(concat(?,?,?), array { //binary-value }) would work for your posted input sample.
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Seek an XPath expression , Piez, Wendell A. (Fe | Thread | Re: [xsl] Seek an XPath expression , Martin Honnen martin |
Re: [xsl] Seek an XPath expression , David Carlisle d.p.c | Date | Re: [xsl] Seek an XPath expression , Martin Honnen martin |
Month |