[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] Novice Question - matching entire text children


Subject: Re: [xsl] Novice Question - matching entire text children
From: Hermann Stamm-Wilbrandt <STAMMW@xxxxxxxxxx>
Date: Wed, 22 Dec 2010 21:59:35 +0100

> In XPath 2.0:
>
> normalize-space(string-join(text(),''))
>
> In XPath 1.0 you're stuck, just as you feared.

Just had an idea -- finite string-join approximations.
Simulate
  string-join(text(),'')
by
  concat(text()[1],text()[2],...,text()[k])
for any finite chosen value k.

This works in XPath 1.0 given that k is chosen big enough.
Sample:
$ xpath++ "concat(/a/text()[1],/a/text()[2],/a/text()[3])" mixed.xml  13
$


Mit besten Gruessen / Best wishes,

Hermann Stamm-Wilbrandt
Developer, XML Compiler, L3
Fixpack team lead
WebSphere DataPower SOA Appliances
----------------------------------------------------------------------
IBM Deutschland Research & Development GmbH
Vorsitzender des Aufsichtsrats: Martin Jetter
Geschaeftsfuehrung: Dirk Wittkopp
Sitz der Gesellschaft: Boeblingen
Registergericht: Amtsgericht Stuttgart, HRB 243294



From:       Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
To:         xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Date:       12/22/2010 05:52 PM
Subject:    Re: [xsl] Novice Question - matching entire text children



Hermann,

On 12/22/2010 2:29 AM, Hermann Stamm-Wilbrandt wrote:
> Hi Wendell,
>
>> "normalize-space(text())" will do the same without copying the text
>> nodes into the variable first, if that's what you're asking.
>
> that is exactly the point, it does not do the same thing without copying!

Oops, you are correct! I forgot the single-node semantics of
normalize-space().

In XPath 2.0:

normalize-space(string-join(text(),''))

In XPath 1.0 you're stuck, just as you feared.

Cheers,
Wendell

--
======================================================================
Wendell Piez                            mailto:wapiez@xxxxxxxxxxxxxxxx
Mulberry Technologies, Inc.                http://www.mulberrytech.com
17 West Jefferson Street                    Direct Phone: 301/315-9635
Suite 207                                          Phone: 301/315-9631
Rockville, MD  20850                                 Fax: 301/315-8285
----------------------------------------------------------------------
   Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================


Current Thread
Keywords