Элемент Mark как устаревший в XSD

У меня есть XSD, проходящий переход от одного набора элементов к другому. Во время перехода будет код, ожидающий появления новых элементов и кода, ожидающих старые элементы. Поэтому мне нужно сохранить старые элементы в XSD; Я документирую их как устаревшие (используя бесплатный текст в элементе xs: documentation).

Есть ли способ маркировки элемента как устаревшего, так что инструмент, такой как xmllint, будет автоматически предупреждать, если кто-то использует устаревший элемент?

1 ответ

Создайте новую схему с новым пространством имен. Назовите эту "версию 2". Если вы решите поддерживать XSD версии 1 и версию 2 XSD в своем приложении, что это хорошо, но держите их отдельно и не пытайтесь сложить два друг на друга - особенно если вы пытаетесь остановить людей от использования версия 1.

Это стоит посмотреть, поскольку он описывает некоторые из того, с чем вы имеете дело: архив http://www.pluralsight.com/community/blogs/tewald/archive/2006/04/19/22111.aspx

Я понимаю, однако, что на самом деле не затрагивает ваш вопрос. Что касается "есть ли способ сделать это?" ответ "нет - не поддерживается повсеместно". Я видел, как люди добавляют свои собственные аннотации к док-тегам, чтобы дать подсказки, но это не будет общепринято для всего инструмента.

Ваш лучший выбор в долгосрочной перспективе - создать придумать историю версий для вашей схемы и сохранить версию 2 отдельно от версии 1.

licensed under cc by-sa 3.0 with attribution.