0

如果 xml 不符合标准,则显示 xsd:annotation 注释:

有没有办法做到这一点。希望显示 xsd 中记录的自定义消息,以便在违反限制规则时显示

4

1 回答 1

0

如果我正确理解您想要什么,您应该使用 CDATA(未解析字符数据)块。例如:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" ... >
  <xs:annotation>
    <xs:documentation>

<![CDATA[
    Here you write anything you want and don't care about XML syntax at all
    ...
]]>

    </xs:documentation>
  </xs:annotation> 
  ...
</xs:schema>

<![CDATA[和之间的任何内容]]>都将完全按照所写的方式解析为单个字符串(文本)。

CDATA 块不是 XSD 特性,而是整个 XML 的特性。


更新:

我再次阅读了您的问题,看来您在问一些不同的问题。

当 XML 文件在针对该模式的验证期间未通过这些限制时,您可能希望在模式中为特定限制指定的一些自定义消息显示。

换句话说,您希望改进 XML 验证器发出的诊断消息,使它们对您的用户更容易理解。

好吧,在 XSD 1.0 中这是完全不可能的。

在 XSD 1.1 中有更多关于测试各种限制和条件的控制。但即使在那里,我也看不到如何指定任何自定义错误消息......

于 2013-09-18T14:24:08.343 回答