xsl-list
[Top] [All Lists]

Re: [xsl] check for whitespace value between nodes

2010-08-20 15:34:03
On Fri, Aug 20, 2010 at 1:02 PM, Wendell Piez 
<wapiez(_at_)mulberrytech(_dot_)com> 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]    S    ::=    (#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                            
mailto:wapiez(_at_)mulberrytech(_dot_)com
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
======================================================================


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>