Ed,
I could not have said it better. I am sorry I was not clear in my
original response.
Thanks,
- Dmitri
--- Ed Peters <[EMAIL PROTECTED]> wrote:
> Steve,
>
> If I understand you correctly, Dmitri's suggestion should work
> perfectly for
> you. The Variables interface contains a method called "getVariable";
> in
> your case you would implement it to fetch objects out of this map
> based on
> their name. For instance, in response to a call to
>
> <your variables impl>.getVariable("Var1")
>
> You could simply return the value of Var1 (instead of a Map which the
> user
> would have to further dereference).
>
> Ed
>
> > -----Original Message-----
> > From: Steve Pannier [mailto:[EMAIL PROTECTED]
> > Sent: Monday, February 24, 2003 11:55 AM
> > To: Jakarta Commons Users List
> > Subject: Re: [JXPath] Use of contexts/variables
> >
> >
> >
> > Dmitri,
> >
> > I'm not clear on how implementing the Variables interface
> > can help us.
> >
> > I'm not sure I explained our situation well enough. The data
> > map we keep for our variables has a top level element whose
> > key is the variable name. For example, if the user's variable
> > name is "Var1", then the top level element of that variable's
> > data map is "Var1" also. Since we need to allow access to
> > any number of the user's variables in a single xpath expression,
> > we decided to define each of their variables as JXPath
> > variables, and add them to a NULL root context. This is why
> > the user must use $Var1/Var1/...." in their expression (the
> > 1st "Var1" being the JXPath variable name, the 2nd one
> > being the top level element of the map). We would like them
> > to only have to enter "$Var1" (or "/Var1") in their expression
> > to reference everything below the top level element of the
> > variable's data map. That's why I was thinking we would
> > need to pre-parse the expression itself and add in the "/Var1"
> > for access to the top level element of the variable's map. We
> > do need them to specify the "Var1" in the expression so we
> > know which variable's map they are referring to (their
> > variables may contain like-named sub elements so we
> > need a way to avoid name collisions - for example, we need
> > to be able to differentiate between "Var1/count" and
> > "Var2/count").
> >
> > If necessary, we can modify the JXPath code itself to implement
> > this, but I was hoping there would be another way. I've tried
> > playing around with nested contexts, but with no luck so far.
> >
> > Anyway, I hope this is explains things better. Let me know
> > if implementing the Variables interface is still the way to
> > accomplish this.
> >
> > Regards.
> >
> >
> > Steve Pannier
> > Jacada, Inc.
> > (763) 201-0002 Ext. 219
> > [EMAIL PROTECTED]
> > http://www.jacada.com
> >
> >
> > > Steve,
> > >
> > > This is an easy one. In JXPath Variables is an interface - you
> are
> > > free to provide your own implementation and install it on
> > JXPathContext
> > > by calling context.setVariables(). It is a very simple
> > interface and
> > > you won't have any trouble meeting your requirement.
> > >
> > > I hope this helps.
> > >
> > > - Dmitri
> > >
> > >
> > > --- Steve Pannier <[EMAIL PROTECTED]> wrote:
> > > > Dmitri,
> > > >
> > > > Here's a new question for you.
> > > >
> > > > Our product allows the user to include any number of
> > > > "variables" in their xpath expression. These are not
> > > > xpath variables, but rather variables they define in our
> > > > design time framework. The user is free to define the
> > > > type for each variable, and they can define structure
> > > > types. Each variable's data is contained in a Map
> > > > hidden in a subclass of the variable. Now, when they
> > > > provide an xpath expression, we allow them to include
> > > > any number of these variables they choose to. So, in
> > > > order to allow us to evaluate these expressions without
> > > > having to first parse the expression, we decided to create
> > > > a root context of NULL, and then add each variable's
> > > > data map to the context as an xpath variable. The result
> > > > of this is, if the user has a variable named "Var1", they
> > > > must reference it in their expression as "$Var1/Var1".
> > > >
> > > > We would rather the user not have to use this syntax in
> > > > expressions for referencing variables. We are talking
> > > > about allowing them to simply use "$Var1" in their
> > > > expression. Then before evaluating the expression we
> > > > would substitute the "$Var1" with "$Var1/Var1". This
> > > > would require us to either write our own pre-parser, or
> > > > somehow make use of JXPath code to do this. But, I'm
> > > > curious if there's any other way to attack this. Maybe
> > > > by defining the context differently. Any ideas?
> > > >
> > > > Let me know if the above explanation of what we're
> > > > trying to do is not clear.
> > > >
> > > >
> > > > Steve Pannier
> > > > Jacada, Inc.
> > > > (763) 201-0002 Ext. 219
> > > > [EMAIL PROTECTED]
> > > > http://www.jacada.com
> > > >
> > > >
> > > >
> > > >
> >
> ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail:
> > [EMAIL PROTECTED]
> > > > For additional commands, e-mail:
> > [EMAIL PROTECTED]
> > > >
> > >
> > >
> > > __________________________________________________
> > > Do you Yahoo!?
> > > Yahoo! Tax Center - forms, calculators, tips, more
> > > http://taxes.yahoo.com/
> > >
> > >
> >
> ---------------------------------------------------------------------
> > > To unsubscribe, e-mail:
> [EMAIL PROTECTED]
> > > For additional commands, e-mail:
> > [EMAIL PROTECTED]
> > >
> > >
> >
> >
> >
> >
> ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail:
> [EMAIL PROTECTED]
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
__________________________________________________
Do you Yahoo!?
Yahoo! Tax Center - forms, calculators, tips, more
http://taxes.yahoo.com/
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]