--- Dominique Devienne <[EMAIL PROTECTED]> wrote:

> On Fri, Oct 10, 2008 at 12:12 PM, 
> <[EMAIL PROTECTED]> wrote:
> > +    <property name="$$" value="$$.value" />
> > +    <au:assertTrue>
> > +      <and>
> > +        <equals arg1="${$$}" arg2="$$.value" />
> 
> This one I get.
> 
> > +        <equals arg1="${$$}" arg2="${$}" />
> 
> OTOH, I don't understand this Matt. Where does the $
> property come
> from? And why is it equal to $$'s value? Thanks,
> --DD

Remember that in Ant we merge any $$ sequence to $ so
that, if need be, the user can specify e.g.
<echo>$${foo}=${foo}</echo> to get (given ${foo} =
"FOO"):

${foo}=FOO

Nested property expansion is handling by resolving
embedded property references inside the ${} sequence. 
$ handling is the province of the PropertyHelper (in
Ant 1.8, its delegates), so property names in a nested
property expression are subject to $$->$ parsing. 
Thus when we say:

<property name="$$" value="$$.value" />

We are actually setting $="$.value" because Ant does
property replacement against all string attributes
when configuring the Java object model.  Now also
remember that a single $ will remain a single $ when
not followed by { ($ and $$ are equivalent), so ${$}
and ${$$} are equivalent and both mean "expansion of
property with key '$'".  Does that make sense?

-Matt 

> 
> > +      </and>
> > +    </au:assertTrue>
> > +  </target>
> 
>
---------------------------------------------------------------------
> 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]

Reply via email to