0

我正在尝试创建一个用于验证 xhtml 文档的例程。我使用在 Calabash 中运行的 xproc。In 是一个 xhtml 文档。该文件可能无效。

为了测试,我编辑了一个 xhtml 文档。我只是删除了 a 并引入了一个错误。这是我希望在验证文档时检测到的错误。

为了验证我使用的 ,我提供了一个模式,并将验证结果输出到一个新文件中。

但是如果输入文件首先无效,xproc/Calabash 就会停止。错误消息基本上是来自撒克逊人的错误消息,指出缺少 。但我想要输出文件中的验证输出。我怎么做?

<p:input port="source" primary="true"/>

<p:load name="xml-doc" href="'input.xhtml'"/>       

<p:validate-with-xml-schema name="validate">
    <p:input port="source">
        <p:pipe port="result" step="xml-doc"/>
    </p:input>
    <p:with-option name="assert-valid" select="'false'"/>
    <p:with-option name="mode" select="'lax'"/>
    <p:input port="schema">
        <p:document href="xhtml-schema.xsd"/>
    </p:input> 
</p:validate-with-xml-schema>

<p:store name="valid-store">
    <p:input port="source">
        <p:pipe port="result" step="validate"/>
    </p:input>
    <p:with-option name="href" select="'output.xml'"/>
</p:store>

4

1 回答 1

0

根据您的问题,尚不清楚撒克逊人到底在抱怨什么,但我认为它找不到输入的 XHTML 文件。您将文件名用单引号括起来p:load/@href,这是不正确的。当您对选项使用基于属性的快捷形式时,属性的值按原样获取,不会被解释为 XPath 表达式(当您使用长p:with-option形式时就是这种情况)。

于 2014-07-02T09:12:01.740 回答