Представление байтового массива в виде схемы XSD - PullRequest
4 голосов
/ 06 мая 2011

Каков наилучший способ представления байтового массива в виде схемы XSD?У меня есть байтовый ввод, который мне нужно проанализировать и передать в объекты Java, сгенерированные JAXB из схемы XSD для будущей проверки.Каждая часть информации в моем входе определяется смещением и длиной.Я хотел бы прикрепить эту информацию к своим элементам, чтобы затем прочитать ее из сгенерированных классов и использовать для анализа.Единственный способ прикрепить такую ​​дополнительную информацию к Элементу, о котором я могу думать, это представить каждый Элемент как Сложный Тип, а затем добавить атрибуты к сложному Элементу и ограничениям - к простому Элементу, обернутому этим сложным Элементом.Проблема этого подхода (в дополнение к беспорядочной схеме) заключается в том, что JAXB создаст отдельный класс для каждого элемента (сложного типа).И у меня будет много полей в моем входе.:) Вторая проблема заключается в том, что на самом деле я буду прикреплять атрибуты и ограничения (которые мне нужны для проверки) к различным элементам (простой элемент-оболочка и комплексная оболочка).Поэтому мне нужно найти способ выяснить, что они на самом деле представляют одну и ту же часть информации.Я надеюсь, что все это имеет смысл.:) По сути, мой вопрос: можете ли вы придумать более элегантный способ присоединения информации о положении и длине к элементу XSD, представляющему соответствующий фрагмент массива байтов?Спасибо!

1 Ответ

8 голосов
/ 06 мая 2011

Каков наилучший способ представления байтового массива в виде схемы XSD?У меня есть байтовый ввод, который мне нужно проанализировать и передать в объекты Java, сгенерированные JAXB из схемы XSD для дальнейшей проверки.

JAXB преобразует byte[] в / из элементов и атрибутовтипа xsd:base64Binary.

Информацию о запуске из схемы XML см. в

Информацию о запуске из классов Java см.:

...