No particular thoughts spring to mind. Can you forward me a minimal copy
of the build.xml and log4j.xml that exhibits the problem so I can run
here and look at what's happening ?
You should be able to do the copy/attr step in one <xmltask> invocation,
using a buffer, btw (you can't do it using properties for reasons you'll
have discovered already).
Once I get a copy of the files I can investigate further. Which Ant/JDK
are you using, btw ?
Brian
Rob Moore wrote:
I'm trying to run 'ant build build' where build is a target that
performs an xmltask modification of a file. The first time the target
is invoked it performs fine. The second time it occurs it fails with
an exception:
[xmltask] Applying
AttrReplace(value=/home/rmoore/Development/workspace/foo/logs/foo.log,
remove=no) to
log4j:configuration/[EMAIL PROTECTED]'file']/[EMAIL PROTECTED]'File']
[xmltask] javax.xml.transform.TransformerException: Prefix must
resolve to a namespace: log4j
[xmltask] at
com.sun.org.apache.xpath.internal.compiler.XPathParser.error(XPathParser.java:602)
[xmltask] at
com.sun.org.apache.xpath.internal.compiler.Lexer.mapNSTokens(Lexer.java:638)
[xmltask] at
com.sun.org.apache.xpath.internal.compiler.Lexer.tokenize(Lexer.java:265)
[xmltask] at
com.sun.org.apache.xpath.internal.compiler.Lexer.tokenize(Lexer.java:96)
[xmltask] at
com.sun.org.apache.xpath.internal.compiler.XPathParser.initXPath(XPathParser.java:108)
[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:67)
[xmltask] at
com.oopsconsultancy.xmltask.XmlReplacement.apply(XmlReplacement.java:60)
[xmltask] at
com.oopsconsultancy.xmltask.ant.XmlTask.processDoc(XmlTask.java:679)
[xmltask] at
com.oopsconsultancy.xmltask.ant.XmlTask.execute(XmlTask.java:648)
[xmltask] at org.apache.tools.ant.Task.perform(Task.java:364)
[xmltask] at org.apache.tools.ant.Target.execute(Target.java:341)
[xmltask] at
org.apache.tools.ant.Target.performTasks(Target.java:369)
[xmltask] at
org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
[xmltask] at
org.apache.tools.ant.Project.executeTarget(Project.java:1185)
[xmltask] at
org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40)
[xmltask] at
org.apache.tools.ant.Project.executeTargets(Project.java:1068)
[xmltask] at org.apache.tools.ant.Main.runBuild(Main.java:668)
[xmltask] at org.apache.tools.ant.Main.startAnt(Main.java:187)
[xmltask] at
org.apache.tools.ant.launch.Launcher.run(Launcher.java:246)
[xmltask] at
org.apache.tools.ant.launch.Launcher.main(Launcher.java:67)
[xmltask] Indenting resultant document
The file that is being parse is a static file and is not modified by
the task -- rather the source file is used to create the target file
like so:
<taskdef name="xmltask"
classname="com.oopsconsultancy.xmltask.ant.XmlTask"
classpathref="master-classpath"/>
<xmltask source="${src.dir}/log4j.xml">
<xmlcatalog refid="dtds"/>
<copy
path="log4j:configuration/[EMAIL PROTECTED]'file']/[EMAIL PROTECTED]'File']/@value"
attrValue="true" property="log.path.relative"/>
</xmltask>
<xmltask source="${src.dir}/log4j.xml" dest="${build.dir}/log4j.xml"
system="log4j.dtd">
<xmlcatalog refid="dtds"/>
<attr
path="log4j:configuration/[EMAIL PROTECTED]'file']/[EMAIL PROTECTED]'File']"
attr="value" value="${basedir}/${log.path.relative}" />
</xmltask>
I cannot figure out why the second time it fails so I thought I'd ping
the list to see if anybody has a clue.
Thanks,
Rob
-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting
language
that extends applications into web and mobile media. Attend the live
webcast
and join the prime developer group breaking into this new coding
territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
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 brian @ oopsconsultancy.com
Tel: +44 (0)7720 397526
Fax: +44 (0)20 8682 0012
-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
Xmltask-users mailing list
Xmltask-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/xmltask-users