[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Re: Seek an XPath expression which concatenates an
> Then, per the "composable language" capability I will embed that for-loop inside the call to concat: > > concat(for $i in //binary-value return $i) > > But that doesn't work. Is XPath truly a composable language? If so, why doesn't my XPath work? This is because of how fn:concat is defined in XPath 3.1 (and prior versions) - a call to it must specify at least 2 arguments, each with cardinality of 1. In XPath 4.0 this definition is extended and the following expression is evaluated successfully: concat(for $i in 1 to 3 return $i) and produces the expected result using BaseX v.11: 123 Thanks, Dimitre On Fri, Mar 15, 2024 at 9:11b/AM Roger L Costello costello@xxxxxxxxx < xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > Hi Folks, > > Thank you for your replies. The string-join solution works fine. > > But, but, but, ... > > Why doesn't my XPath work: concat(for $i in //binary-value return $i) > > I thought that I was simply employing XPath's "composable language" > capability. > > The XPath specification says this: > > XPath is a composable language > > What does that mean? > > It means that every operator and language construct allows any XPath > expression to appear as its operand. > > So, what that means to me is that I can call the concat function: > > concat(...) > > and then inside the parentheses the entire XPath functionality is > available to me. Right? > > Well, here is a fine XPath expression: > > for $i in //binary-value return $i > > Then, per the "composable language" capability I will embed that for-loop > inside the call to concat: > > concat(for $i in //binary-value return $i) > > But that doesn't work. Is XPath truly a composable language? If so, why > doesn't my XPath work? > > /Roger > > > -- Cheers, Dimitre Novatchev --------------------------------------- Truly great madness cannot be achieved without significant intelligence. --------------------------------------- To invent, you need a good imagination and a pile of junk ------------------------------------- Never fight an inanimate object ------------------------------------- To avoid situations in which you might make mistakes may be the biggest mistake of all ------------------------------------ Quality means doing it right when no one is looking. ------------------------------------- You've achieved success in your field when you don't know whether what you're doing is work or play ------------------------------------- To achieve the impossible dream, try going to sleep. ------------------------------------- Facts do not cease to exist because they are ignored. ------------------------------------- Typing monkeys will write all Shakespeare's works in 200yrs.Will they write all patents, too? :) ------------------------------------- Sanity is madness put to good use. ------------------------------------- I finally figured out the only reason to be alive is to enjoy it.
|
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
|