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

时间:2013-09-18 12:53:03

标签: xsd annotations xsd-validation

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

是否有实现这一目标的方法。想要显示xsd中记录的自定义消息,以便在限制规则消失时显示

1 个答案:

答案 0 :(得分:0)

如果我正确理解了你想要的内容,你应该使用CDATA(Unparsed Character Data)块。 例如:

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