xsl-list
[Top] [All Lists]

AW: OR expr with node sets

2005-10-18 03:39:42
Hi,

now i've found the problem causing the error. The error's cause isn't the 
xsl:if (in fact both "foo or bar" and "foo | bar" works!), but one of the 
following statements where i tried to union 
"dok/zonen/textsuche/jpk/jpk-titel/div/normfassungen | 
dok/notindexed/jpk/jpk-titel" in a template-parameter. Clearly, this doesn't 
work in the called template.

But i must say XALAN's error messages are sometimes very awful and don't lead 
to the bug's cause.

Thanks for your suggestions. They lead me to find the bug.

Regards,
Thomas.



-----Ursprüngliche Nachricht-----
Von: Jarno(_dot_)Elovirta(_at_)nokia(_dot_)com 
[mailto:Jarno(_dot_)Elovirta(_at_)nokia(_dot_)com] 
Gesendet: Dienstag, 18. Oktober 2005 11:50
An: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Betreff: RE: [xsl] OR expr with node sets

Hi,

The above uses an union expression, not an or expression. 
There's a difference.

  <xsl:if test="foo | bar">

collects two node-sets, creates an union and then casts the
combined node-set to a boolean.

  <xsl:if test="foo or bar">

collects two node-sets, casts both of them into booleans
and then makes an OR comparison between the resulting booleans.


That's true according to the way things are specified, although the 
end result is always the same so an actual implementation may well do 
the same thing in both those cases (and in both cases not generate the 
whole set, but stop looking as soon as it finds any node, as it knows 
that it is in a boolean context).

Naturally, could have specified that "a naive implementation following the 
spec... ", but I wanted to highlight that "|" is not an OR operator. Xalan 
throwing an exception in the case the original poster described is clearly 
wrong, can't say why it fails, though.

Cheers,

Jarno

--
Kevin Energy: DJ Kevin Energy + MC Sharkey @ Enchanted Australia

--~------------------------------------------------------------------
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>
  • AW: OR expr with node sets, Lensch, Thomas <=