Обработка коллизий элементов при импорте / включении схем XML - PullRequest
0 голосов
/ 24 марта 2012

Учитывая определения схемы, которые по-разному определяют один и тот же элемент, можно ли импортировать / включать оба определения и ссылаться на них независимо из определения третьей схемы?

Например, задано:

<schema xmlns="http://www.w3.org/2001/XMLSchema"
  targetNamespace="urn:example:namespace">
    <element name="message" type="boolean"/>
</schema>

и:

<schema xmlns="http://www.w3.org/2001/XMLSchema"
  targetNamespace="urn:example:namespace">
    <element name="message" type="date"/>
</schema>

Можно ли построить следующее:

<schema xmlns="http://www.w3.org/2001/XMLSchema"
  targetNamespace="urn:example:namespace">
    <complexType name="booleanMessageType">
        <sequence>
            <!-- reference to first definition here -->
        </sequence>
    </complexType>
    <complexType name="dateMessageType">
        <sequence>
            <!-- reference to second definition here -->
        </sequence>
    </complexType>
</schema>

1 Ответ

1 голос
/ 24 марта 2012

Ответ - нет, у вас не может быть набора схем, который содержал бы два определения для одного и того же глобального элемента.

Если имя тега важно, то вместо этого вы можете определить два типа, например messageBoolean и messageDate, а затем использовать определения локальных элементов с одинаковым именем тега ( message ) и разными типами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...