Использование проверки JAXB и Stax для маршалинга XML-документа

Я создал XML-схему (foo.xsd) и использовал xjc создать мои обязательные классы для JAXB. Скажем, корневой элемент collection и я пишу N document объекты, которые являются составными типами.

Поскольку я планирую выписать большие XML-файлы, я использую Stax для выписывания collection корневой элемент и JAXB для маршалинга использования поддеревьев документа Marshaller.marshal(JAXBElement, XMLEventWriter). Это - подход, рекомендуемый неофициальным руководством пользователя jaxb.

Мой вопрос, как я могу проверить XML, в то время как он упорядочивается? Если я связываю схему с JAXB marshaller (использование Marshaller.setSchema()), я получаю ошибки проверки, потому что я только упорядочиваю поддерево (оно жалуется, что не видит collection корневой элемент"). Я предполагаю то, что я действительно хочу сделать, связывают схему с Stax XMLEventWriter или что-то как этот.

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

8
задан oers 21 August 2012 в 10:49
поделиться

1 ответ

Некоторые реализации Stax, похоже, могут проверять вывод. См. Следующий ответ на аналогичный вопрос:

Использование Stax2 с Woodstox

3
ответ дан 6 December 2019 в 00:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: