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