Subject: Re: Syntax Assistance Needed
From: Jeni Tennison <jeni@xxxxxxxxxxxxxxxx>
Date: Fri, 17 May 2002 15:07:11 +0100
|
Hi Scott,
> I have the following code
> <xsl:if test="label[.!='']">
>
> I am picking up a project from someone else, and I cannot find the
> meaning of [.!='']
>
> I have searched quite hard to find out what the . means but never
> found it. Could someone please explain what that means and what the
> '.' period means. As it is used in quite a few other lines.
>
> eg <xsl:when test="item_type[.='user_art']">
The . means "the context node".
. != ''
means "the value of the context node is not an empty string", or "the
context node has some textual content".
So label[. != ''] selects the label element child of the context node
that has some text inside it (at any level). You can do the same with
label[string()] if you want. Since this is in a test, it might be
easier to just do:
label != ''
The path item_type[. = 'user_art'] selects the item_type element whose
string value is 'user_art'. Again, since it's in a test, it's easier
to do:
item_type = 'user_art'
Cheers,
Jeni
---
Jeni Tennison
http://www.jenitennison.com/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|