> Is the expression a filter expression because in is proceeded by the
variable.
A location path with the first step as a variable or a function is a filter
expression. For instance, both $foo/x and java:myExtension()/x are filter
expressions. FilterExpr is a production in the XPath grammar.
> i.e. is $table/row-set/row the filter expression or is row-set/row the
filter
> expression
$table/row-set/row is the filter expression.
> and the sorting can not be determined because of the it is not a
> pure XPath statement ??
For instance, with $table/row-set/row, the variable could be a parameter
that could either return a single node, in which case $table/row-set/row
would return the rows in natural document order as the search occurs. Or,
the variable could return a nodeset either out of order (if it was returned
from an extension) or nodes from multiple levels in the tree. In either of
these cases, nodes would not be returned in document order without sorting.
> I need to dig deeper into the whole transformation process, but why can't
the
> DTM support an interface such as hasSupportFor(int option). Then when
> WalkerFactory is determining if a sorted walker is required the document
> can be asked if it supports a specific feature. similar to the
canCrissCross()
> method. Does this tie XPath to a particular document implementation ??
canCrissCross can be determined statically. A variable might be a
parameter which may hold any number of different values during the
execution of the program. Having a method on an extension function would
solve part of the problem, though it would require a hasSupportFor(int
option) method on extension functions, which I hate to do.
I think the isChildOrAttributeInDocOrder() is pretty similar to your
hasSupportFor(int option), but it's more specific. Since this needs to be
pretty fast, I suspect a specific function would be better than an enum
that has to be tested.
-scott
John Gentilin
<johnglinux@eyecatch To: [EMAIL PROTECTED]
ing.com> cc: (bcc: Scott Boag/CAM/Lotus)
Sent by: Subject: Re: [Bug 2925] -
Parameter set from DOM Node, broken
[EMAIL PROTECTED]
tching.com
08/06/01 05:39 PM
Please respond to
xalan-dev
[EMAIL PROTECTED] wrote:
>
> Note that normally the need for sorting can be determined statically in
> WalkerFactory. The problem is caused by a filter expression which can
> start with either a variable or an extension, in which case, we can't
tell
> if sorting needs to be done until runtime.
>
Is the expression a filter expression because in is proceeded by the
variable.
i.e. is $table/row-set/row the filter expression or is row-set/row the
filter
expression and the sorting can not be determined because of the it is not a
pure XPath statement ?? Hope I am being clear here, maybe a brief
explanation
of what a filter expression is may help.
I need to dig deeper into the whole transformation process, but why can't
the
DTM support an interface such as hasSupportFor(int option). Then when
WalkerFactory is determining if a sorted walker is required the document
can be asked if it supports a specific feature. similar to the
canCrissCross()
method. Does this tie XPath to a particular document implementation ??
JG