Я нашел несколько инструментов в Интернете, которые генерируют схему XML для данного экземпляра данных XML. Что-то вроде - текст ссылки
Я тоже думаю о разработке, но меня немного смущает оценка сгенерированной схемы.
Как можно оценить сгенерированную схему, т.е. сгенерированная схема подтверждает данные? Есть ли какие-либо средства для формулирования какой-либо меры точности, которая говорит, что сгенерированная схема XML является правильной на 80% или на 90% для заданных данных XML?
Пожалуйста, помогите мне с любыми указателями.
Ура
2 ответа
Я верю, что вы просите невозможного. Автоматически сгенерированная схема (я использую Examplotron) никогда не может быть идеально точной, потому что инструмент создания не имеет достаточно информации.
Например, если в XML-документе есть элемент <foobar>
, как инструмент генерации может узнать, является ли он обязательным или нет? Если принимается более одного значения? Не зная исходной схемы, у вас нет возможности сказать, является ли сгенерированная схема точной или нет. (Examplotron решает проблему, позволяя автору помещать структурированные комментарии в XML-файл, чтобы направлять программу.)
Вот пример. С помощью этого XML-файла:
<data>
<foo>1</foo>
<bar>text</bar>
<baz/>
</data>
Examplotron сгенерировал эту схему (немного отредактированную):
start =
element data {
element foo { xsd:integer },
element bar { text },
element baz { empty }
}
Обратите внимание на xsd:integer
в элементе <foo>
. Хороший вывод, но насколько он точен? Возможно, <foo>
должен был быть более общего типа, например xsd:any
...
Схема, созданная из существующего XML-документа, будет настолько хороша, насколько хорош исходный XML. Если ваш образец XML является полным примером используемого XML, ваша сгенерированная схема будет работать. Если он неполный или плохо сформирован, этого не произойдет.
Похожие вопросы
Новые вопросы
xml
XML (Extensible Markup Language) - это формат структурированного документа, определяющий правила кодирования текста. При использовании этого тега включайте дополнительные теги, такие как язык программирования, наборы инструментов, используемые технологии XML и другие теги, описывающие среду, в которой опубликована проблема. Гибкость XML обеспечивает широкий спектр применений для передачи человеческих и машинных данных, в том числе конкретных инструментов и библиотек.