【发布时间】:2011-12-01 14:01:24
【问题描述】:
我遇到的问题是这样的:
- 我有很多第三方生成的 XSD 文件来检查文档类型的一致性
- 他们使用标准类型(即
gYear和date)却没有意识到它们的真正限制 - 他们还使用硬编码检查,这些检查比 XSD 中使用的这些标准类型有更多限制(即,
gYear的数字之前或之后的空格是可以的,但他们这边会失败) - 更改架构确实不是一个可行的方法(XSD 数量众多且更新频繁)
那么,问题来了:我可以做些什么来执行更严格的规则来验证某些标准类型?
我使用 .NET 3.5 (C#) 并且我们有一个围绕标准 XmlReader 的包装器,因此使用 3rd 方项目根本不是一个选项。
我考虑过使用一些预定义的类型加载额外的模式文件,这些类型将扩展/覆盖所需的类型,或以某种方式捕捉到所需类型正在验证节点的时刻,我可以查看所述的值节点,但我不确定如何继续。
附加要求:验证过程应该是流式的(即没有XmlDocument 等)。
【问题讨论】:
-
您是在发送还是接收消息?
-
@hugh 我正在发送用户生成的内容
标签: c# .net validation xsd