【发布时间】:2011-01-02 13:15:04
【问题描述】:
是否可以编写允许将经过验证的 XML 与格式良好的 XML 混合的模式?一个典型的例子是一个数据传输应用程序,其中请求由一堆元数据(我们想要验证)和特定于记录的信息(在业务逻辑中与 XML 分开验证,因为 XML 请求是只是请求可以通过的几种方式之一)。
例子:
<request>
<campaign>CAMP00001</campaign>
<username>user_bob</username>
<token>one-time-token-goes-here</token>
... more meta-data ...
<records>
<record id="90209">
<name>John Doe</name>
<address>Park Lane 191</address>
<postal>99999</postal>
</record>
<record id="90210">
<name>Jane Doe</name>
<address>Park Lane 192</address>
<postal>88888</postal>
</record>
</records>
</request>
目前我正在通过手动检查活动、用户名和令牌字段的内容的存在和有效性来进行验证。如果可能的话,我想使用 XML 模式来做到这一点,这样就可以更容易地与开发人员交流他们需要提供哪些元数据以及以哪种格式 - 对于活动来说,这是不可能的,因为每个活动都有自己的一组应用于这些的字段和规则。这样的事情能做到吗?
(我想到的一个解决方案是用一组<data> 元素而不是命名元素填充记录,然后在架构中对<data> 有一个非常松散的定义......但这需要改变规范)
【问题讨论】:
标签: xml validation schema xsd