Stefan Bodewig wrote:
On Thu, 23 Jan 2003, Nicola Ken Barozzi <[EMAIL PROTECTED]> wrote:
Stefan Bodewig wrote:
On Wed, 22 Jan 2003, Dominique Devienne <[EMAIL PROTECTED]> wrote:
Didn't understand a thing ;-)
Me neither 8-)
:-))
Good, it means that I was right in my supposition.
Not necessarily. I'm focussing on bug fixing and getting 1.5.2 out of the door before I really dive into the stuff originating from the embed proposal.
Let's say, I don't understand property-interceptors and why they are needed either 8-)
Simple, make it possible to add property resolution systems.
A property is now a simple value, but it's very convenient that it can be the result of an expression.
When I started using it in Centipede some time back, I created this document. Maybe it can be reused in Ant.
http://krysalis.org/cgi-bin/krywiki.pl?AntJXPath
A concrete example, that is also explained in the document, is about getting values from xml.
"
I have written a <xmldom> typedef that reads an xml file and puts it in the references. So, let's say I want to load the build.xml file as a DOM, and echo the project name:
<!-- The DOM of file test.xml is referenced via the id--> <xmldom id="build.xml" file="build.xml"/> <echo message="${jxpath:/references/build.xml/root/project/@name}" />
Other examples with xmldom:
top-level property values (separated by comma): ${jxpath:/references/build.xml/root/project/property/@value}
top-level property values that have name "p": ${jxpath:/references/build.xml/root/project/[EMAIL PROTECTED]'p']/@value}
Final functionality: Let's say that I want to get the top-level property values that have the name defined in *another* Ant property, called pp:
${jxpath:/references/build.xml/root/project/[EMAIL PROTECTED]/@value}
JXpath expands all $ xpath variables using the Ant properties. "
It's theorically possible to do the same with references, and give the possibility of having an interceptor to give the reference.
IMHO, references and properties should be as similar as possible - note that this broad statement is backed by a total lack of insight into the PropertyHelper thing.
Well, they are not really.
refid="blah" <---> ${blahvalue}
There is a level of indirection that makes it possible for me to do the following but not the opposite:
refid="${blahstuff}"
With interception for properties, I can do:
${jxpath:/references/properties.xml/get/the/value/for/blah}
As you see, the interceptor can get me a property from a reference too:
${jxpath:/references/blah}
IMHO it could be confusing for users to have the possibility of doing:
${jxpath:/references/blah}
or
refid="jxpath:/references/blah"
What the user would ant to intercept with the above is not the reference per se, but its name. And its name is a property.
refid="jxpath:/references/blah"
can also be done by
refid="${jxpath:/references/blah}"
I guess, no?
-- Nicola Ken Barozzi [EMAIL PROTECTED] - verba volant, scripta manent - (discussions get forgotten, just code remains) ---------------------------------------------------------------------
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>