Re: [xsl] check for whitespace value between nodes

Subject: Re: [xsl] check for whitespace value between nodes
From: Dimitre Novatchev <dnovatchev@xxxxxxxxx>
Date: Fri, 20 Aug 2010 13:33:30 -0700
On Fri, Aug 20, 2010 at 1:02 PM, Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
wrote:
> Dear Dimitre,
>
> At 12:00 PM 8/20/2010, you wrote:
>>
>> In fact the expression I proposed also covers your "first definition".
>
> Of course -- I'm sorry if I wasn't clear that a single space character
would
> pass your test. But it doesn't do so exclusively. If "a white space" is
> meant to designate *only* a single character, the test (as you know) has to
> be tighter. And either way, we also get to worry about what that character
> can be. Space, tab, non-breaking space, zero-width space ...

The question said "white space". Not "white space character".

Also in your message you were describing the solution to your "first case"
as:

"For the first definition, one might want

 translate(product/text(),'&#xA;&#x9;',' ')=' '  "

So, it seems that your "first case" defines whitespace as containing
one or more newline and tab characters. There is nothing in your
proposed XPath expression that restricts the test for "*only* a single
character".

Once again, the XPath expression I came up with fully covers this case.



--
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
-------------------------------------
You've achieved success in your field when you don't know whether what
you're doing is work or play


>
>> Do note that there is only a single definition for whitespace in the
>> XML Recommendation (http://www.w3.org/TR/REC-xml/#sec-common-syn) :
>>
>> [3] B  B S B  B ::= B  B (#x20 | #x9 | #xD | #xA)+
>>
>> and this is exactly what the normalize-space() function handles
>> (http://www.w3.org/TR/xpath-functions/#func-normalize-space):
>>
>> "Summary: Returns the value of $arg with whitespace normalized by
>> stripping leading and trailing whitespace and replacing sequences of
>> one or more than one whitespace character with a single space, #x20.
>>
>> The whitespace characters are defined in the metasymbol S (Production
>> 3) of [Extensible Markup Language (XML) 1.0 Recommendation (Third
>> Edition)]."
>
> Certainly. (And I know you know I know this. :-)
>
> My point (as I know you know) is that problem statements relating to
> whitespace in transformations -- or XML processing in general -- often do
> not make reference to this spec. In fact, they are often given without any
> awareness that such a definition exists. (The list archive will show this
> time and time again.)
>
> Cheers,
> Wendell
>
>
> ======================================================================
> Wendell Piez B  B  B  B  B  B  B  B  B  B  B  B  B 
B mailto:wapiez@xxxxxxxxxxxxxxxx
> Mulberry Technologies, Inc. B  B  B  B  B  B  B 
B http://www.mulberrytech.com
> 17 West Jefferson Street B  B  B  B  B  B  B  B  B  B Direct Phone:
301/315-9635
> Suite 207 B  B  B  B  B  B  B  B  B  B  B  B  B  B  B  B  B  B  B  B 
B Phone: 301/315-9631
> Rockville, MD B 20850 B  B  B  B  B  B  B  B  B  B  B  B  B  B  B  B  Fax:
301/315-8285
> ----------------------------------------------------------------------
> B Mulberry Technologies: A Consultancy Specializing in SGML and XML
> ======================================================================

Current Thread