Ant无法使用外部实体的相对路径查找XML文件

时间:2014-02-06 13:02:17

标签: xml ant path

我有XML引用其他XML文件,这些文件具有指向外部实体的相对路径。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//Dawid Weiss//DTD DocBook V3.1-Based Extension for XML and graphics inclusion//EN" "../../dtd/oceandocx.dtd" [
<!ENTITY capitulo_uno SYSTEM "capitulo_uno.xml">
]>

ant 1.7.1中工作正常,但是当我使用较新版本的ant (1.9.2)时,我收到此错误:

Fatal Error! Failure reading file:d://home//git//src//en//xml//index.xml 
Cause: java.net.MalformedURLException: no protocol: capitulo_uno.xml

我检查过这样的文件不应该有问题,但在其他帖子中说它应该可以添加“file:”。

当我使用完整路径时

<!ENTITY capitulo_uno SYSTEM "file:d://home//git//src//en//xml//capitulo_ch.xml">

但我需要使用相对路径,我试过这些但没有成功

<!ENTITY capitulo_uno SYSTEM "capitulo_uno.xml">

<!ENTITY capitulo_uno SYSTEM "file://capitulo_uno.xml">

<!ENTITY capitulo_uno SYSTEM "file:///capitulo_uno.xml">

<!ENTITY capitulo_uno SYSTEM "file:.//capitulo_uno.xml">

XML文件位于同一文件夹中。 不知道这个版本的蚂蚁是不是有问题,或者我错过了什么。

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题。相对路径似乎从ant buildfile所在的目录开始。

文件夹设置:
项目/ ant_buildfile.xml
项目/输入/ combined.xml
项目/输入/ part1.xml

目标:
combined.xml应该包含part1.xml。

combined.xml中的引用如下所示:
&#34;文件:./输入/ part1.xml&#34;