警告:类型受构面图案限制,这可能会妨碍此类型实例的完全往返

问题描述 投票:1回答:2

我总是得到这些警告,我的xsd:dateTime验证。

+'              <xsd:element name="ProductCreationDate" minOccurs="1" maxOccurs="1">'
+'                  <xsd:simpleType>'
+'                      <xsd:restriction base="xsd:dateTime">'
+'                          <xsd:whiteSpace value="collapse" fixed="true"/>'
+'                          <xsd:pattern value="\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d"/>'
+'                      </xsd:restriction>'
+'                  </xsd:simpleType>'
+'              </xsd:element>'

此消息显示在“消息”窗格中:

警告:类型xs-nun(/ProductCreationDate/simpleType())受facet pattern的限制,可能会妨碍此类实例的完全往返

谁知道如何摆脱这个警告?

xml xsd ssms xsd-validation xml-validation
2个回答
1
投票

从我可以收集的内容来看,这只不过是SQL Server告诉您确保模式与数据类型匹配。可以添加不匹配有效dateTime字符串的模式,以便生成的类型永远不会通过验证(基本类型或模式限制失败)。

如果你的模式没问题,可以安全地忽略警告,但我不知道有什么方法可以抑制消息。


0
投票

您未指定的工具告诉您它可能无法通过此约束进行往返。如果你想删除警告,请删除pattern(或者真正的整个restriction),如果你不关心往返,则忽略它。

请注意,通常不会通过验证解析器来报告此类往返关注问题。也许您正在使用一种工具来映射到面向对象的类(例如JAXB或xsd.exe),其中一个简单的验证XML解析器就足够了。

© www.soinside.com 2019 - 2024. All rights reserved.