Matt Benson wrote:
--- peter reilly <[EMAIL PROTECTED]> wrote:

For example:

<project xmlns:antcontrib="antlib:net.sf.antcontrib"
        xmlns:acme="antlib:org.acme.anttasks">
 <target name="show">
   <antcontrib:if>
       <antcontrib:or>
            <antcontrib:equals arg1="yes" arg2="${prop}"/>
           <acme:fileready file="${file}"/>
       </antcontrib:or>
       <antcontrib:then>
          <echo>The arguments are equal</echo>
       </antcontrib:then>
   </antcontrib:if>
 </target>
</project>

Okay, how about redoing the same example with:

    <antcontrib:if xmlns="antlib:net.sf.antcontrib">
...
    </antcontrib:if>

or will that syntax be available at all?

That should be:

  <if xmlns="antlib:net.sf.antcontrib">
    ...
  </if>

because the prefix mapping applies to the element it is defined on, in addition to all child elements (as long as not overridden).

If you want child elements from the Ant core namespace, you'd need to map that to a prefix, so the complete example would look like this:

<project xmlns:acme="antlib:org.acme.anttasks">
  <target name="show">
    <if xmlns="antlib:net.sf.antcontrib"
        xmlns:ant="antlib:org.apache.tools.ant">
        <or>
            <equals arg1="yes" arg2="${prop}"/>
            <acme:fileready file="${file}"/>
        </or>
        <then>
           <ant:echo>The arguments are equal</ant:echo>
        </then>
    </if>
  </target>
</project>

Of course using a shorter prefix like 'ac' instead of 'antcontrib' also helps to reduce verbosity ;-)

BTW, my non-binding +1 to option b).

-chris


--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to