xsl-list
[Top] [All Lists]

Re: [xsl] Re: Identity transformation for XSLT 2.0

2007-12-23 11:57:18
At 2007-12-23 23:43 +0530, Mukul Gandhi wrote:
On Dec 23, 2007 11:01 PM, Michael Kay <mike(_at_)saxonica(_dot_)com> wrote:
> The fact that something can be coded in XSLT is not itself an argument not
> to include it in the standard function library. That argument can be used to
> show that you don't need a "+" operator, because people can always write
> "--".

I recently needed to do set difference operation in a 2.0 stylesheet,
using Saxon 9 (basic version). I was a bit surprised to find that
Saxon reported, "Unknown system function except()".

"except" is an operator, not a function.

The F&O spec defines this function
(http://www.w3.org/TR/xquery-operators/#func-except). Could you please
tell, why this built in function not implemented in Saxon 9.

As a workaround, I had to resort to $seq1[not(. = $seq2)] ...

The above is comparing _values_ of each node, not the identity of each node.

Using "$seq1 except $seq2" engages the function defined in the specification.

Note how http://www.w3.org/TR/xquery-operators/#func-except is described as:

  op:except($parameter1 as node()*, $parameter2 as node()*) as node()*

I hope this helps.

. . . . . . . . Ken


--
Comprehensive in-depth XSLT2/XSL-FO1.1 classes: Austin TX,Jan-2008
World-wide corporate, govt. & user group XML, XSL and UBL training
RSS feeds:     publicly-available developer resources and training
G. Ken Holman                 mailto:gkholman(_at_)CraneSoftwrights(_dot_)com
Crane Softwrights Ltd.          http://www.CraneSoftwrights.com/s/
Box 266, Kars, Ontario CANADA K0A-2E0    +1(613)489-0999 (F:-0995)
Male Cancer Awareness Nov'07  http://www.CraneSoftwrights.com/s/bc
Legal business disclaimers:  http://www.CraneSoftwrights.com/legal


--~------------------------------------------------------------------
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>