2013-09-27 2 views
1

можно проверить ключ/keyref для нескольких экземпляров XML. Пример: xsd1 определяет схему и пространство имен для списка DataTypes, каждый DataType имеет уникальный идентификатор идентификатора, который определяется как keyref. xsd2 определяет список объектов, которые должны использовать идентификаторы из xsd1. В программном обеспечении для разработки XML Oxygen, например. xsd-ссылка с ключом/keyref в двух пространствах имен работает, но мне не удается создать сценарий проверки, например: «Поле X в XML2 (проверено на xsd2) может содержать только значения из идентификатора полей в XML1 (проверено против xsd1) «XML-ключ/keyref для нескольких экземпляров XML

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

Большое спасибо заранее!

ответ

0

Невозможно сделать это с помощью XSD. Вы можете сделать это через документы, используя Schematron. Теперь эквивалент Schematron для key/keyref не является декларативным как его сопоставитель XSD, но тем не менее выполним. Взгляните на this article для получения подробной информации ... имейте в виду, что это предназначено для общего решения конструкции key/unique/keyref, возможно, вы можете сделать это проще для вашего конкретного случая.

+0

Благодарим вас за эту информацию. Но чтобы убедиться, что я прав относительно schematron: весь XML по-прежнему не проверен/проверен «на лету»/live во время написания XML-файлов, не так ли? Нет ничего похожего на IntelliSense для создания XML, который просматривает определенные файлы XML, чтобы проверять и/или предлагать XML во время написания, не так ли? Я спрашиваю, потому что я хочу найти лучший набор инструментов для пользователей, которым необходимо создать XML, который соответствует моим схемам. Им все еще нужно написать весь XML и запустить его через некоторую проверку моей системы, которая проверяет, действительно ли все! –

+0

Конечно, вы можете сделать это «на лету»; но тогда, какое авторское программное обеспечение вы имеете в виду? Вы спрашиваете, может ли что-то такое, как Oxygen, или вообще что-то, что вы хотите построить самостоятельно? Последнее можно было бы относительно легко построить ... собственный редактор, основанный на открытых технологиях для достижения именно того, что вы хотите. –

+0

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

Смежные вопросы