将2个xsd合并为一个
问题描述:
我想合并到xsd,因此如果出现一个或另一个包,就可以进行验证。 当某些元素是可选元素时,而不是当一个元素是另一个元素时。两者都有相同的根元素。例如像这样将2个xsd合并为一个
<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"targetNamespace="http://www.example.org/test" xmlns:tns="http://www.example.org/test" elementFormDefault="qualified">
<element name="example">
<complexType>
<sequence>
<element name="field1" type="string" />
<element name="field2" type="string" />
<element name="field3" type="string" />
<element name="field4" type="string" />
</sequence>
</complexType>
</element>
而且还可以是这样的
<element name="example">
<complexType>
<sequence>
<element name="field2" type="string" />
<element name="field1" type="string" />
<element name="field5" type="string" />
<element name="field4" type="string" />
<element name="field3" type="string" />
</sequence>
</complexType>
</element>
感谢,如果有人可以提供帮助。
答
这些模式之一强加序列1,2,3,4,另一个强加序列2,1,3,4,3。你是说合并的模式应该允许这两个序列中的任何一个?在这种特殊情况下,您可以在两个序列之间定义一个选择。但是在一般情况下,选择将是不明确的,因此组合模式将无效。解决这个问题涉及到一些严重困难的计算机科学。
感谢您的回答,如果第一个字段是两个序列中的同义词,那么它可能会含糊不清。因此,在这两组之间进行选择可以。 – 2011-06-10 09:55:39