|
Subject: Re: [xsl] Use of data() function From: Florent Georges <lists@xxxxxxxxxxxx> Date: Sun, 2 Mar 2008 14:02:16 +0100 (CET) |
Mukul Gandhi wrote:
> test="" would test for EBV of the expression in "". That is
> the semantics of test="" syntax.
Yes. As well as for a few XPath constructs. The idea is that from
any sequence you want to have just 'yes' or 'no.' You don't have to
provide an expression that results in a singleton xs:boolean. The
rules are something like:
- if empty($seq) -> false
- if non-empty sequence of nodes -> true
- if singleton number -> flase if 0 or NaN
- if singleton string or URI -> false if ''
- if singleton boolean -> that boolean's value
- else: type error
See http://www.w3.org/TR/xpath20/#id-ebv for details. Note in
particular that you can't have a sequence of atomic values.
Without the EBV, you should provide a singleton xs:boolean each time
you use xsl:if, if, xsl:when, and, predicates, etc. For instance
test="@married" would be an error; you should say
test="exists(@married)" or test="xs:boolean(@married)" instead.
Regards,
--drkm
_____________________________________________________________________________
Ne gardez plus qu'une seule adresse mail ! Copiez vos mails vers Yahoo! Mail http://mail.yahoo.fr
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] Use of data() function (w, Mukul Gandhi | Thread | Re: [xsl] Use of data() function, Mukul Gandhi |
| Re: [xsl] Slow XSLT, Cleyton Jordan | Date | RE: [xsl] Slow XSLT, Cleyton Jordan |
| Month |