Hi brian,
it fails while parsing the count ...xml task
i am pasting a small example here --
My build.xml file
-------------------------------
<?xml version="1.0"?>
<project name="java.net" default="main" basedir=".">
<taskdef name="xmltask"
classname="com.oopsconsultancy.xmltask.ant.XmlTask"/>
<taskdef name="if" classname="ise.antelope.tasks.IfTask"/>
<!-- run all examples -->
<target name="main" depends="testprg,repeattask"/>
<property name="weblogic.home.cfgfile" value="C:/test1.xml" />
<!-- a calling example -->
<target name="testprg">
<xmltask source="build-configuration.xml">
<call path="/categoryset/category" target="compile-and-release">
<param name="name" path="testname/text()"/>
<param name="appender1" path="appender[1]/text()"/>
<param name="appender2" path="appender[2]/text()"/>
<param name="appender3" path="appender[3]/text()"/>
</call>
</xmltask>
</target>
<!-- the build target for ex12 -->
<target name="compile-and-release">
<echo>Building ${name}</echo>
<xmltask source="${weblogic.home.cfgfile}"
dest="${weblogic.home.cfgfile}" failWithoutMatch="true">
<insert path="/log4j:configuration/root" position="after">
<![CDATA[ <category name="${name}">
<priority value="debug" />
<appender-ref ref="${appender1}" />
<appender-ref ref="${appender2}" />
<appender-ref ref="${appender3}" />
</category> ]]>
</insert>
</xmltask>
</target>
<target name="repeattask">
<xmltask source="${weblogic.home.cfgfile}"
dest="${weblogic.home.cfgfile}" failWithoutMatch="true">
<copy path="count(/log4j:configuration/category/[...@name='Category3'])"
property="count"/>
</xmltask>
<echo>Building ${count}</echo>
<if name="count" value="0">
<antcall target="doUnitTests"/>
<else>
<echo>this won't happen</echo>
</else>
</if>
</target>
<target name="doUnitTests">
<xmltask source="${weblogic.home.cfgfile}"
dest="${weblogic.home.cfgfile}" failWithoutMatch="true">
<insert path="/log4j:configuration/root" position="after" >
<![CDATA[ <category name="com.bea.wli.event">
<priority value="debug" />
<appender-ref ref="RDBMS_EG_LOGFILE_DEBUG"/>
</category> ]]>
</insert>
</xmltask>
</target>
</project>
------------------------
My build-configuration file
-------------------------
<?xml version="1.0"?>
<categoryset>
<category testname="testing">
<testname>Category1</testname>
<appender>development</appender>
<appender>systemtest</appender>
<appender>production</appender>
</category>
<category testname="test">
<testname>Category2</testname>
<appender>DEV</appender>
<appender>TEST</appender>
<appender>PROD</appender>
</category>
</categoryset>
-------------------------------
my test1.xml
---------------------
<?xml version="1.0" encoding="UTF-8"?>
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"
debug="null" threshold="null">
<root>
<priority value="fatal"/>
</root>
<category name="com.bea.wli.event">
<priority value="debug"/>
<appender-ref ref="RDBMS_EG_LOGFILE_DEBUG"/>
</category>
<category name="Category3">
<priority value="debug"/>
<appender-ref ref="UAT"/>
<appender-ref ref="${appender2}"/>
<appender-ref ref="${appender3}"/>
</category>
<category name="Category2">
<priority value="debug"/>
<appender-ref ref="DEV"/>
<appender-ref ref="TEST"/>
<appender-ref ref="PROD"/>
</category>
<category name="Category1">
<priority value="debug"/>
<appender-ref ref="development"/>
<appender-ref ref="systemtest"/>
<appender-ref ref="production"/>
</category>
</log4j:configuration>
------------------------------------
Is this syntax wrong ?
<copy path="count(/log4j:configuration/category/[...@name='Category3'])"
property="count"/>
as used above...
error is -
-------------------
repeattask:
*[xmltask] javax.xml.transform.TransformerException: A location step was
expected following the '/' or '//' token.*
[xmltask] at
com.sun.org.apache.xpath.internal.compiler.XPathParser.error(XPathParser.java:602)
[xmltask] at
com.sun.org.apache.xpath.internal.compiler.XPathParser.RelativeLocationPath(XPathParser.java:1579)
Thanks.
adi
On Thu, Aug 13, 2009 at 5:33 PM, Brian Agnew <br...@oopsconsultancy.com>wrote:
> (content chopped for space).
>
> Ok. The <if> stuff seems to work (your previous example was setting the
> property to 'true' or 'false' - the property itself was set, however, so it
> would execute each time).
>
> Not sure why you're getting an XPath failure. Is that your <insert> ? Do
> you have a*simple* test case for this ?
>
> Brian
>
>
> On 13/08/2009 16:16, Adithya V.S.S wrote:
>
> I tried this way adding an if task using ( antelopetasks-3.2.10.jar)
> adding the following in the build.xml
>
> <taskdef name="if" classname="ise.antelope.tasks.IfTask"/>
>
> then the target as - --
>
> <target name="roottest" >
> <xmltask source="${weblogic.home.cfgfile}"
> dest="${weblogic.home.cfgfile}" failWithoutMatch="true">
>
> <copy path=
> "count(/log4j:configuration/category/[...@name='com.bea.wli.event'])"<count(/log4j:configuration/category/[...@name='com.bea.wli.event'])>property="count"/>
>
> </xmltask>
>
> <if name="count" value="0">
> <antcall target="doUnitTests"/>
> <else>
> <echo>this won't happen</echo>
> </else>
> </if>
>
> </target>
>
> <target name="doUnitTests">
>
> <xmltask source="${weblogic.home.cfgfile}"
> dest="${weblogic.home.cfgfile}" failWithoutMatch="true">
>
> <insert path="/log4j:configuration/root" position="after"
> unless="is.path.available">
> <![CDATA[ <category name="com.bea.wli.event">
> <priority value="debug" />
> <appender-ref ref="RDBMS_EG_LOGFILE_DEBUG"/>
> </category> ]]>
> </insert>
> </xmltask>
> </target>
>
> Thought this will work but it gives me an exception -- :(
>
>
> following is the exception --
>
>
> [xmltask] javax.xml.transform.TransformerException: A location step was
> expected following the '/' or '//' token.
> [xmltask] at
> com.sun.org.apache.xpath.internal.compiler.XPathParser.error(XPathParser.java:602)
> [xmltask] at
> com.sun.org.apache.xpath.internal.compiler.XPathParser.RelativeLocationPath(XPathParser.java:1579)
> [xmltask] at
> com.sun.org.apache.xpath.internal.compiler.XPathParser.LocationPath(XPathParser.java:1537)
> [xmltask] at
> com.sun.org.apache.xpath.internal.compiler.XPathParser.PathExpr(XPathParser.java:1259)
> [xmltask] at
> com.sun.org.apache.xpath.internal.compiler.XPathParser.UnionExpr(XPathParser.java:1178)
> [xmltask] at
> com.sun.org.apache.xpath.internal.compiler.XPathParser.UnaryExpr(XPathParser.java:1084)
> [xmltask] at
> com.sun.org.apache.xpath.internal.compiler.XPathParser.MultiplicativeExpr(XPathParser.java:1005)
> [xmltask] at
> com.sun.org.apache.xpath.internal.compiler.XPathParser.AdditiveExpr(XPathParser.java:947)
> [xmltask] at
> com.sun.org.apache.xpath.internal.compiler.XPathParser.RelationalExpr(XPathParser.java:872)
> [xmltask] at
> com.sun.org.apache.xpath.internal.compiler.XPathParser.EqualityExpr(XPathParser.java:812)
> [xmltask] at
> com.sun.org.apache.xpath.internal.compiler.XPathParser.AndExpr(XPathParser.java:776)
> [xmltask] at
> com.sun.org.apache.xpath.internal.compiler.XPathParser.OrExpr(XPathParser.java:749)
> [xmltask] at
> com.sun.org.apache.xpath.internal.compiler.XPathParser.Expr(XPathParser.java:732)
> [xmltask] at
> com.sun.org.apache.xpath.internal.compiler.XPathParser.Argument(XPathParser.java:1411)
> [xmltask] at
> com.sun.org.apache.xpath.internal.compiler.XPathParser.FunctionCall(XPathParser.java:1479)
> [xmltask] at
> com.sun.org.apache.xpath.internal.compiler.XPathParser.PrimaryExpr(XPathParser.java:1388)
> [xmltask] at
> com.sun.org.apache.xpath.internal.compiler.XPathParser.FilterExpr(XPathParser.java:1287)
> [xmltask] at
> com.sun.org.apache.xpath.internal.compiler.XPathParser.PathExpr(XPathParser.java:1220)
> [xmltask] at
> com.sun.org.apache.xpath.internal.compiler.XPathParser.UnionExpr(XPathParser.java:1178)
> [xmltask] at
> com.sun.org.apache.xpath.internal.compiler.XPathParser.UnaryExpr(XPathParser.java:1084)
> [xmltask] at
> com.sun.org.apache.xpath.internal.compiler.XPathParser.MultiplicativeExpr(XPathParser.java:1005)
> [xmltask] at
> com.sun.org.apache.xpath.internal.compiler.XPathParser.AdditiveExpr(XPathParser.java:947)
> [xmltask] at
> com.sun.org.apache.xpath.internal.compiler.XPathParser.RelationalExpr(XPathParser.java:872)
> [xmltask] at
> com.sun.org.apache.xpath.internal.compiler.XPathParser.EqualityExpr(XPathParser.java:812)
> [xmltask] at
> com.sun.org.apache.xpath.internal.compiler.XPathParser.AndExpr(XPathParser.java:776)
> [xmltask] at
> com.sun.org.apache.xpath.internal.compiler.XPathParser.OrExpr(XPathParser.java:749)
> [xmltask] at
> com.sun.org.apache.xpath.internal.compiler.XPathParser.Expr(XPathParser.java:732)
> [xmltask] at
> com.sun.org.apache.xpath.internal.compiler.XPathParser.initXPath(XPathParser.java:125)
> [xmltask] at
> com.sun.org.apache.xpath.internal.XPath.<init>(XPath.java:162)
> [xmltask] at
> com.sun.org.apache.xpath.internal.XPathAPI.eval(XPathAPI.java:233)
> [xmltask] at
> com.sun.org.apache.xpath.internal.XPathAPI.eval(XPathAPI.java:190)
> [xmltask] at
> com.oopsconsultancy.xmltask.jdk15.XPathAnalyser15.analyse(XPathAnalyser15.java:28)
> [xmltask] at
> com.oopsconsultancy.xmltask.XmlReplace.apply(XmlReplace.java:72)
> [xmltask] at
> com.oopsconsultancy.xmltask.XmlReplacement.apply(XmlReplacement.java:61)
> [xmltask] at
> com.oopsconsultancy.xmltask.ant.XmlTask.processDoc(XmlTask.java:705)
> [xmltask] at
> com.oopsconsultancy.xmltask.ant.XmlTask.execute(XmlTask.java:674)
> [xmltask] at
> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
> [xmltask] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> Method)
> [xmltask] at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> [xmltask] at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> [xmltask] at java.lang.reflect.Method.invoke(Method.java:585)
> [xmltask] at
> org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
> [xmltask] at org.apache.tools.ant.Task.perform(Task.java:348)
> [xmltask] at org.apache.tools.ant.Target.execute(Target.java:357)
> [xmltask] at
> org.apache.tools.ant.Target.performTasks(Target.java:385)
> [xmltask] at
> org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)
> [xmltask] at
> org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
> [xmltask] at
> org.apache.tools.ant.Project.executeTargets(Project.java:1189)
> [xmltask] at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:416)
> [xmltask] at
> com.oopsconsultancy.xmltask.CallAction.apply(CallAction.java:136)
> [xmltask] at
> com.oopsconsultancy.xmltask.XmlReplace.apply(XmlReplace.java:78)
> [xmltask] at
> com.oopsconsultancy.xmltask.XmlReplacement.apply(XmlReplacement.java:61)
> [xmltask] at
> com.oopsconsultancy.xmltask.ant.XmlTask.processDoc(XmlTask.java:705)
> [xmltask] at
> com.oopsconsultancy.xmltask.ant.XmlTask.execute(XmlTask.java:674)
> [xmltask] at
> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
> [xmltask] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> Method)
> [xmltask] at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> [xmltask] at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> [xmltask] at java.lang.reflect.Method.invoke(Method.java:585)
> [xmltask] at
> org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
> [xmltask] at org.apache.tools.ant.Task.perform(Task.java:348)
> [xmltask] at org.apache.tools.ant.Target.execute(Target.java:357)
> [xmltask] at
> org.apache.tools.ant.Target.performTasks(Target.java:385)
> [xmltask] at
> org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)
> [xmltask] at
> org.apache.tools.ant.Project.executeTarget(Project.java:1306)
> [xmltask] at
> org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
> [xmltask] at
> org.apache.tools.ant.Project.executeTargets(Project.java:1189)
> [xmltask] at org.apache.tools.ant.Main.runBuild(Main.java:758)
> [xmltask] at org.apache.tools.ant.Main.startAnt(Main.java:217)
> [xmltask] at
> org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
> [xmltask] at
> org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
>
> BUILD FAILED
> C:\XML Task _ Test\build.xml:13: The following error occurred while
> executing this line:
> C:\XML Task _ Test\build.xml:65: <xmltask> subtasks failed to find matches
>
>
>
>
--
Adithya V.S.S
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now. http://p.sf.net/sfu/bobj-july
_______________________________________________
Xmltask-users mailing list
Xmltask-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/xmltask-users