Мета-схема XML
Поскольку XML-схемы (XSD) сами являются XML-файлами, должна быть возможность построить схему схемы (мета-схемы), верно?
Я изо всех сил пытаюсь совершить этот подвиг.
Я хотел бы создать схему, которая описывает схему с одним корнем complexType
содержащий последовательность simpleTypes
,
3 ответа
Akoma-Ntoso является примером такой мета-схемы:
"Мы можем сказать, что Akoma Ntoso - это мета-схема, которая позволяет вам создавать свою собственную схему: она предоставляет строительные блоки для различных организаций, которые можно использовать для создания собственных очень индивидуальных схем. Наличие организаций, использующих подобные строительные блоки, идентифицируя эти блоки в Подобная мода имеет большое значение для обеспечения большей интеграции и обмена документами, а также возможности многократного использования программных средств... "
Akoma Ntoso ("связанные сердца" на языке акан в Западной Африке) определяет набор простых, нейтральных в технологическом отношении электронных представлений в формате XML для парламентских, законодательных и судебных документов.
Он использует две абстракции, extends
:
Элемент
extends
является элементом метаданных, указывающим ссылку на источник, расширенный описываемым аргументом.
- расширение является производным правилом, которое добавляет контролируемые новые функции к базовому правилу, так что все документы, которые являются правильными в соответствии с производным правилом, могут быть проверены по базовому правилу путем удаления дополнительных функций. Набор действительных документов в соответствии с производным правилом является контролируемым надмножеством набора действительных документов в соответствии с базовым правилом.
а также restricts
:
Элемент
restricts
является элементом метаданных, указывающим ссылку на источник, ограниченный описываемым аргументом.
- ограничение - это производное правило, которое является более строгим, чем базовое, так что все документы, которые являются правильными в соответствии с производным правилом, также действительны в соответствии с базовым: набор действительных документов для производного правила является математическим подмножеством комплект действительных документов в соответствии с базовым правилом.
Рекомендации
Конечно, вы можете создать свою собственную схему для этой цели. Хорошей отправной точкой будет официальная отправная точка от W3C
Я бы посоветовал сделать два прогона проверки: один с неизмененной схемой, а второй с упрощенной, изготовленной на заказ схемой. Эта пользовательская схема может быть урезанной версией оригинала, содержащей только дополнительные ограничения. Остальное можно разрешить с помощью подстановочных знаков (<xs:any>
)
Итак, вы хотите написать XSD для проверки правильности XSD? Ну, зачем это делать, когда есть Xsd Validator: