Java Collada Parser - реализация на основе XML Pull

Я смотрю на набор синтаксических анализаторов, созданных для Atom, XAL, Kml и т. д., по-видимому, с использованием автоматизированной техники с парсером на основе извлечения XML. Ключом к автоматизации является наличие «package.html» во всех папках сопоставленных классов XML-to-Java. Я хотел бы создать аналогичный для довольно большой спецификации Collada 1.4. Моя первая попытка с Altova столкнулась с небольшими проблемами из-за ключевого слова "enum". Я уверен, что смогу исправить это при следующем запуске с соответствующим переименованием. Khronos признает, что не разрабатывал спецификацию 1.4 так, чтобы она была удобной для автоматического создания синтаксических анализаторов.

Фактические синтаксические анализаторы, т. е. синтаксический анализатор XAL, синтаксический анализатор Atom и т. д., реализуют интерфейс XMLEventParser. Я хотел бы знать, если кто-нибудь столкнулся/использовал этот шаблон. Если да, то какой инструмент можно использовать для сопоставления XSD с набором классов, просто предоставляя доступ к компонентам данных узлов с помощью геттеров и сеттеров.


person whatnick    schedule 04.12.2010    source источник


Ответы (1)


Я не уверен, что понимаю ваш вопрос, но похоже, что вы хотите обрабатывать форматы XML, такие как Atom, и представлять их в объектах с помощью геттеров/сеттеров. Это можно легко сделать с помощью JAXB.

Для примера см.:

person bdoughan    schedule 04.12.2010
comment
Да, JAXB - это вариант. Но я смотрю на пример реализации, использующий какой-то причудливый синтаксический анализ на основе XmlEvent. Объекты выделяются только в том случае, если они требуются. Геттеры обычно выглядят так: return (String) this.getField(Scheme) в этом генераторе классов. Я пытаюсь отследить генератор классов, который использовался здесь. Учитывая количество классов в схеме, мне трудно поверить, что она была взломана вручную. - person whatnick; 04.12.2010