Yup, that part works. I had the syntax of "child::node" inccorrect before.
> -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On > Behalf Of Brian Agnew > Sent: Friday, March 28, 2008 8:31 AM > To: Karr, David > Cc: xmltask-users@lists.sourceforge.net > Subject: Re: [Xmltask-users] Add text to web-app/description > if it's present > > To simplify, if I do this: > > <xmltask source="a.xml" dest="b.xml" report="true"> > <insert path="/a/child::node()[1]/." > position="before"><![CDATA[<x/>]]></insert> > </xmltask> > > to this: > > <a> > <b/> > <c/> > </a> > > I get this: > <a> > <x/> > <b/> > <c/> > </a> > > which looks to me like what you want ? > > Brian > > > > On Fri, March 28, 2008 14:47, Karr, David wrote: > >> -----Original Message----- > >> From: [EMAIL PROTECTED] > >> [mailto:[EMAIL PROTECTED] On Behalf Of > >> Brian Agnew > >> Sent: Friday, March 28, 2008 6:50 AM > >> To: Karr, David > >> Cc: xmltask-users@lists.sourceforge.net > >> Subject: Re: [Xmltask-users] Add text to > web-app/description if it's > >> present > >> > >> > >> I would certainly expect a position="before" to do what > you want. I > >> think the samples in the src download must have some > examples/tests > >> around this. > > > > I just went through all of the tests. I don't see anything > similar to > > this scenario. > > > > Realize that I'm trying to insert this element as the first > child of > > the "web-app" element. Using the default of "under" results in the > > element being inserted as the last child, not the first child. > > > > The only way I can see this could work is if I somehow found the > > actual current first child of "web-app" (I don't know for > sure what it > > will be), and then insert with position="before". I tried > using the > > following, but it didn't work: > > > > "/*[local-name()='web-app']/child::node()[1]/." > > > >> > >> >> On Thu, March 27, 2008 23:56, Karr, David wrote: > >> >> > It's been a while since I've xmltasked. I'm having > some trouble > >> >> > getting done what I need. > >> >> > > >> >> > I have some text in a couple properties (I'm hardcoding the > >> >> values for > >> >> > now) that I want to put into the "/web-app/description" > >> >> element of a > >> >> > web.xml file. If the element is already present, I want > >> to add the > >> >> > new text after " - ". If the element wasn't present, then > >> >> create the > >> >> > element with the new text. > >> >> > > >> >> > I have two current problems: > >> >> > > >> >> > If the "description" element was present already, it's > >> supposed to > >> >> > insert a value referencing the property containing the > >> >> existing value. > >> >> > Instead of the value of the property, it just inserts > >> >> > "${existingDescription}". I tried printing out the > >> property value > >> >> > after the xmltask tag, and it appears to be fine. > >> >> > > >> >> > If the "description" element was NOT present, I > insert the new > >> >> > "description" element (using that weird trick just > >> talked about for > >> >> > turning off insertion of empty "xmlns" attributes), but it > >> >> inserts it > >> >> > as the last child of "web-app", not the first. I don't see > >> >> a way to > >> >> > do this cleanly. > >> >> > > >> >> > I also wish there was a cleaner way to "trim" the > >> resulting output > >> >> > (see what I had to do in the first "replace"). > >> >> > > >> >> > Here's my current code: > >> >> > --------------------- > >> >> > <target name="install-label-info"> > >> >> > <taskdef name="xmltask" > >> >> > classname="com.oopsconsultancy.xmltask.ant.XmlTask" > >> >> > classpath="${file.reference.xmltask.jar}"/> > >> >> > <property name="label" value="abc"/> > >> >> > <property name="labelDesc" value="def"/> > >> >> > <xmltask source="${build.web.dir}/WEB-INF/web.xml" > >> >> > dest="${build.web.dir}/WEB-INF/web.xml" report="true"> > >> >> > <copy > >> >> > > >> >> > >> > path="/*[local-name()='web-app']/*[local-name()='description']/text()" > >> >> > property="existingDescription"/> > >> >> > <replace if="existingDescription" > >> >> > > >> >> > >> > path="/*[local-name()='web-app']/*[local-name()='description']/text()" > >> >> > expandProperties="true" > >> >> > ><![CDATA[${existingDescription} - ${label}: > >> >> > ${labelDesc}]]></replace> > >> >> > <paste unless="existingDescription" > >> >> > path="/*[local-name()='web-app']/."> > >> >> > <![CDATA[<description > >> >> > xmlns="http://java.sun.com/xml/ns/j2ee">${label}: > >> >> > ${labelDesc}</description>]]> > >> >> > </paste> > >> >> > <copy > >> >> > > >> >> > >> > path="/*[local-name()='web-app']/*[local-name()='description']/text()" > >> >> > property="newDescription"/> > >> >> > </xmltask> > >> >> > <echo > >> >> message="existingDescription[${existingDescription}]"/> > >> >> > <echo message="newDescription[${newDescription}]"/> > >> >> > </target> > >> >> > --------------------- > >> >> > > >> >> > > >> >> > > >> >> > > >> >> > > >> >> > >> > --------------------------------------------------------------------- > >> >> - > >> >> > --- Check out the new SourceForge.net Marketplace. > >> >> > It's the best place to buy or sell services for just > >> about anything > >> >> > Open Source. > >> >> > > >> >> > >> > http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/mark > >> >> e > >> >> > tplace _______________________________________________ > >> >> > Xmltask-users mailing list > >> >> > Xmltask-users@lists.sourceforge.net > >> >> > https://lists.sourceforge.net/lists/listinfo/xmltask-users > >> >> > > >> >> > >> >> > >> >> -- > >> >> Brian Agnew http://www.oopsconsultancy.com > >> >> OOPS Consultancy Ltd > >> >> Tel: +44 (0)7720 397526 > >> >> Fax: +44 (0)20 8682 0012 > >> >> > >> >> > >> >> -------------------------------------------------------------- > >> >> ----------- > >> >> Check out the new SourceForge.net Marketplace. > >> >> It's the best place to buy or sell services for just about > >> anything > >> >> Open Source. > >> >> http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.n > >> > et/marketplace > >> >> _______________________________________________ > >> >> Xmltask-users mailing list > >> >> Xmltask-users@lists.sourceforge.net > >> >> https://lists.sourceforge.net/lists/listinfo/xmltask-users > >> >> > >> > > >> > > >> > --------------------------------------------------------------------- > >> - > >> > --- Check out the new SourceForge.net Marketplace. > >> > It's the best place to buy or sell services for just > about anything > >> > Open Source. > >> > > >> > http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/mark > >> e > >> > tplace _______________________________________________ > >> > Xmltask-users mailing list > >> > Xmltask-users@lists.sourceforge.net > >> > https://lists.sourceforge.net/lists/listinfo/xmltask-users > >> > > >> > >> > >> -- > >> Brian Agnew http://www.oopsconsultancy.com > >> OOPS Consultancy Ltd > >> Tel: +44 (0)7720 397526 > >> Fax: +44 (0)20 8682 0012 > >> > >> > >> -------------------------------------------------------------- > >> ----------- > >> Check out the new SourceForge.net Marketplace. > >> It's the best place to buy or sell services for just about > anything > >> Open Source. > >> http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.n > > et/marketplace > >> _______________________________________________ > >> Xmltask-users mailing list > >> Xmltask-users@lists.sourceforge.net > >> https://lists.sourceforge.net/lists/listinfo/xmltask-users > >> > > > > > -- > Brian Agnew http://www.oopsconsultancy.com > OOPS Consultancy Ltd > Tel: +44 (0)7720 397526 > Fax: +44 (0)20 8682 0012 > > > -------------------------------------------------------------- > ----------- > Check out the new SourceForge.net Marketplace. > It's the best place to buy or sell services for just about > anything Open Source. > http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.n et/marketplace > _______________________________________________ > Xmltask-users mailing list > Xmltask-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/xmltask-users > ------------------------------------------------------------------------- Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace _______________________________________________ Xmltask-users mailing list Xmltask-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xmltask-users