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

Reply via email to