Написание схемы XML, которая позволяет квалифицированные атрибуты из других пространств имен - PullRequest
2 голосов
/ 23 августа 2009

Есть ли способ создать XSD, который допускает атрибут из другого пространства имен, но только если он квалифицирован?Пример XML-файла, который будет действителен в соответствии со схемой:

<d:document dx:size="a5"
    xmlns:d="http://example.com/documents"
    xmlns:dx="http://example.com/document-extensions"/>

Схема должна обеспечивать соответствие атрибута size, и это часть, которую я не могу заставить работать.

1 Ответ

0 голосов
/ 23 августа 2009

В вашем открывающем теге схемы вашей схемы, а не в вашем экземпляре документа, используйте attirbuteFormDefault = "qualified", чтобы убедиться, что все атрибуты соответствуют пространству имен. В вашей схеме вам придется импортировать, а не включать, где определен соответствующий атрибут, а затем назначить префикс пространства имен для местоположения документа, который вы импортируете.

Теперь вы определите префикс пространства имен для другого определения, известного вашей схеме. Теперь вы можете использовать элементы этого другого определения в вашем экземпляре документа с префиксом префикса пространства имен, который вы определили в своей схеме. Это работает лучше всего, если другой документ определения также является схемой.

...