xsl-list
[Top] [All Lists]

Re: Logic OR in the XPath

2003-10-23 14:19:22
Dongling,

At 04:19 PM 10/23/2003, you wrote:
I need to check if a meember doesn't exist or its
value equals "N" then do something. How can I do that?

I have something here but didn't work. Please advise

<xsl:when test="not(./*[name(.) = 'Shared']) |
(./Shared/text() ='N')">

This doesn't work because the union operator "|" works only on node sets, whereas the two expressions on either side of it here both return Booleans. You can't unify two Booleans.

I think you want

test="not(Shared) or Shared='N'"

...or (unabbreviated form of the same)...

test="not(child::Shared) or child::Shared='N'"

Translated into English, this reads "when there is no "Shared" element child or when a "Shared" element child has (string) value = 'N'.

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



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