在Calabash / xproc中加载非有效的xml

时间:2014-06-26 07:33:20

标签: validation input calabash xproc

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

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

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

但是如果输入文件首先在xproc / Calabash停止时无效。该错误消息基本上是来自Saxon的错误消息,指出缺少该消息。但我想在输出文件中输出验证输出。我该怎么做?

<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>

1 个答案:

答案 0 :(得分:0)

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