Соединение 2 XSD в один - PullRequest
0 голосов
/ 09 июня 2011

Я хочу объединить с 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 Ответ

1 голос
/ 09 июня 2011

Одна из этих схем накладывает последовательность 1,2,3,4, а другая - последовательность 2,1,3,4,3. Вы хотите сказать, что объединенная схема должна разрешать любую из этих двух последовательностей? В этом конкретном случае вы можете просто определить выбор между двумя последовательностями. Но в общем случае выбор будет неоднозначным, поэтому объединенная схема будет недействительной. Решение этой проблемы требует серьезной информатики.

...