我收到下面的验证错误在WebSphere MQ代理工具V7.0与已生成的.xsd工作时:无效约束值
a-props-correct.2: Invalid value constraint value '0' in attribute 'attrname'.
相关的.xsd文本属性的用法:
<xsd:complexType name="CTypeContent">
<xsd:simpleContent>
<xsd:extension base="xsd:base64Binary">
<xsd:attribute name="attrname" type="BooleanType" use="optional" default="1" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
和属性的定义:
<xsd:simpleType name="BooleanType">
<xsd:restriction base="xsd:boolean">
<xsd:pattern value="0|1" />
</xsd:restriction>
</xsd:simpleType>
我用Google搜索,发现了很多二关于SOAP等的调整,但这似乎有点偏离我的项目。我只是想确保.xsd中的逻辑是有根据的。
编辑:
如果删除属性的默认片错误消失。这对我来说不是一个解决方案 - 但也许它有助于诊断。
我做更多的搜索,我碰到这个传来: http://osdir.com/ml/text.xml.xerces-j.devel/2005-04/msg00015.html 我对XML和XSD格式不太好 - 但我相信事实上0被转换为'false'(布尔类型),我的模式被拒绝。 – sdasdadas
是的,这就是问题的大部分时间。通常情况下,供应商会告诉您放弃该模式,除了分割模式之外,您还应该尝试该模式。 –
但我的说法是,错误在于我的.xsd文件,而不是WMB软件 - 我不确定这是否与您的上述文章背道而驰。 – sdasdadas