- From: <jeroen@tcf.nl>
- Date: Sat, 13 May 2000 15:11:40 +0200 (CEST)
- To: www-dom-xpath@w3.org
scott wrote:
> > I don't like the idea of the stack behind the variable list.
> > Why not a simple addVariable("what", "this"), removeVariable("what") ?
>
> Well, you have to take this from where it comes: an implementor of an XSLT
> processor. I may have several "what" variables in scope, but only the
> least recently pushed wins. If I remove the last pushed "what" variable, I
> would expect the previous "what" to come back in scope.
>
> All languages that work with variables work this way. A use case: if I am
> an implementor of XPathScript (someone has done something like this for
> Perl), this is how I would want it to work. If we do it the way you
> suggest, the implementor would have to kludge their own stack, which would
> be somewhat painful, I think.
The choice of using a stack, in my opinion, should be a choice made by the
implementor not the interface. Replacing a variable is a kludge in case of the
stack. Besides how would you make that thread safe ?
> Also, the way you have it set up there, it looks like each expression has
> it's own variables list. This doesn't seem right to me... I would expect a
> variables stack/list to be shared among multiple XPath expressions.
+1 I agree, that's a nice feature which can easily be solved in my setup by
adding a "setVariableList( VariableList aList )" on an expression.
>
> > variables.addVariable( new Variable("a","b") );
>
> What advantage does the Variable class add? Can you give an example?
Not too many, you might be able to share them among variable lists, it could be
a node, it can be extendable for different/future expression modules, it's a
natural "object" and should therefore have an interface.
Best Regards,
Jeroen
Received on Saturday, 13 May 2000 09:11:43 UTC