Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
由于验证错误,Ant xmlproperty任务失败_Ant_Dita - Fatal编程技术网

由于验证错误,Ant xmlproperty任务失败

由于验证错误,Ant xmlproperty任务失败,ant,dita,Ant,Dita,我想从DITA映射文件中提取应用程序版本。ditamap文件有效,如下所示: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE map PUBLIC "-//OASIS//DTD DITA Map//EN" "map.dtd"> <map id="user-manual"> <title><ph keyref="product"/> User Manual</title>

我想从DITA映射文件中提取应用程序版本。ditamap文件有效,如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE map PUBLIC "-//OASIS//DTD DITA Map//EN" "map.dtd">
<map id="user-manual">
    <title><ph keyref="product"/> User Manual</title>
    <topicmeta>
        <prodinfo>
            <prodname><keyword keyref="product"/></prodname>
            <vrmlist>
                <vrm version="4" release="3" modification="0"/>
            </vrmlist>
        </prodinfo>
    </topicmeta>
    <!--
        [...]
    -->
</map>
如果删除
声明或添加带有DTD路径的嵌套
,则会加载文件,并可以使用其中的属性

我用Ant1.7.1和1.9.4测试了这个。这是Ant的一个bug,还是我误解了Ant是如何加载XML属性和
validate
属性的用途


我如何才能让蚂蚁服从我的意愿?

我建议不要为此使用
。请看一下:

例如,启用语义属性处理后,此XML 属性文件:


好的观点。使用Ant的XSLT任务,最好的方法是使用XSLT任务创建一个临时XML属性文件,然后加载它吗?或者你推荐一种不同的方法?
<project default="test">
    <!-- notice @validate -->
    <xmlproperty file="path/to/user-manual.ditamap" validate="false"/>
    <target name="test">
        <echo>${map.topicmeta.prodinfo.vrmlist.vrm(version)}</echo>
    </target>
</project>
java.io.FileNotFoundException: /home/user/user-manual/map.dtd (No such file or directory)
<root>
  <properties>
    <foo location="bar"/>
    <quux>${root.properties.foo}</quux>
  </properties>
</root>
<property name="root.properties.foo" location="bar"/>
<property name="root.properties.quux" value="${root.properties.foo}"/>
<copy path="//critdates/created/@date"
            property="document.date"
            append="false"/>