当前位置 : 主页 > 网页制作 > xml >

在XML模式中处理指令验证

来源:互联网 收集:自由互联 发布时间:2021-06-13
我认为合理简单,我找不到任何确定的东西(除了缺乏确定性的事实) 有没有办法合并到模式中,处理指令节点在文档中的某个位置的要求,也可能验证处理指令目标? 例如: node ?my-instruc
我认为合理简单,我找不到任何确定的东西(除了缺乏确定性的事实)

有没有办法合并到模式中,处理指令节点在文档中的某个位置的要求,也可能验证处理指令目标?

例如:

<node>
    <?my-instruction data ?>
</node>

将验证,而:

<node></node>

不会?

而且,更好的是:

<node>
    <?my-other-instruction data ?>
</node>

也不会(因为我可以提供my-instruction的必需目标)

如上所述,我在这个主题上找不到任何确定的(或根本没有),所以我不得不假设这是不受支持的.其他人已经提到PI用于“带外”数据和处理指令,因此在验证中不需要包含它们是合理的.虽然会很好.

XSD完全忽略实例文档中的处理指令.

我不确定为什么你很难找到这个.搜索“处理指令”的规范给出了一个命中,即3.1.4中的句子“上述定义意味着注释和处理指令,即使在文本中,也会被忽略所有·验证·目的.”

事实上,在XSD 1.1中,我们对于断言是否可以看到注释和处理指令有一些争论.最后的决定是默认情况下它们不可见,但处理器可以提供一个开关来使它们可见.在Saxon 9.4中,您可以在命令行上使用–assertionsCanSeeComments:on来设置此开关.使用此开关集,您可以在模式中编写断言来测试是否存在处理指令 – 但是您不能将它们合并到复杂类型的语法中,这使得限制它们必须出现的确切位置变得棘手.

网友评论