Как мне объединить 4 одинаковых XSD в один? - PullRequest
0 голосов
/ 04 октября 2011

Я пытаюсь узнать, есть ли способ загрузить / выгрузить дополнительные элементы на основе значения перечисления.

У меня есть следующий тип элемента:

<xs:element name="requestType" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:simpleType>
        <xs:restriction base="xs:string">
            <xs:enumeration value="FUND" />
            <xs:enumeration value="GENLDGR" />
            <xs:enumeration value="SECDIST" />
            <xs:enumeration value="TRAN" />
        </xs:restriction>
    </xs:simpleType>
</xs:element>

Это исходит из 4 XSD, которые я пытаюсь объединить.Все они имеют одни и те же элементы, на которые я могу ссылаться через наследование, и это нормально.Тем не менее, есть элементы, которые говорят, например, что FUND может понадобиться, а TRAN нет, но они, возможно, 3 или 4 вершины.

Есть ли способ, основанный на значениях XML для "requestType"«что я могу использовать это, чтобы использовать другие элементы, которые я могу ограничить, и игнорировать те, которые мне не нужны?

1 Ответ

0 голосов
/ 04 октября 2011

Я думаю, что вы, вероятно, ищете функцию, называемую «условное присвоение типа» в XSD 1.1, которая позволяет модели содержимого элемента зависеть от значения одного из его атрибутов. Это очень плачевная неспособность XSD 1.0.

Функция XSD 1.1 в настоящее время реализована в Saxon и Xerces (насколько мне известно).

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