Может ли одно перечисление XML-схемы расширить другое? - PullRequest
3 голосов
/ 01 апреля 2011

Я бы хотел, чтобы моя XML-схема содержала два строковых перечисления, одно расширяющее другое:

  • Перечисление 1: собака, кошка
  • Перечисление 2 (добавляет «змея»)на первый): собака, кошка, змея

Я пробовал union , но результирующий тип не выглядит перечислением, по крайней мере, он не распознаетсяна xAmple как таковой.

Есть ли способ, чтобы одно перечисление расширяло другое и оставалось перечислением?

1 Ответ

1 голос
/ 05 апреля 2011

Простые типы могут быть получены только по ограничению, но не по расширению. (Союзы являются особыми и считаются ограничениями anySimpleType.)

Если вы просто пытаетесь избежать дублирования (а не определять иерархию), тогда объединение должно подойти для проверки, хотя неудивительно, что некоторые инструменты не будут искать объединение, чтобы сделать что-то умное.

Другой вариант - определить базовый тип, который будет иметь все значения (собака, кошка, змея), а затем получить класс, содержащий только подмножество. Это дает вам иерархию, но производный класс должен либо повторять подмножество (собака, кошка), либо запрещать другим (змея) регулярное выражение. (И использование регулярных выражений, вероятно, приведет к путанице во многих редакторах.)

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