К сожалению, типы, определенные в XML-схеме (XSD) или определении типа документа (DTD), напрямую не привязаны к документу XML, который они проверяют. Элементы и атрибуты в XML-документе по сути не имеют типа, они просто текст. Подумайте о XSD как сценарии, который проверяет XML-документ, а не набор аннотаций типа для элементов и атрибутов.
Спецификация XML не определяет типы, как вы думаете о них здесь. Даже определения типа документа (DTD), которые могут быть встроены в документы XML, больше о структуре документа, а не типе данных, содержащихся в элементах и атрибутах.
Система типов, описанная в XML-схеме, является необязательным уровнем проверки, который может применяться к документам XML. Поскольку эта валидация необязательна, стандартные XML-API не обеспечивают способ привязки правил проверки в XSD к фактическим атрибутам и элементам.
Я думаю, что XML API может предоставить механизм для привязки XSD к определенному XML-документу, но я не знаю об XML-синтаксическом анализаторе, который это делает. Одна из причин, почему это не так просто, заключается в том, что система типов, определенная в XML-схеме, намного богаче, чем поддерживается на большинстве основных языков программирования. В вашем примере вас могут интересовать только xs: integer, xs: string и т.п., но в XML Schema вы можете создавать типы, которые определяют диапазоны, шаблоны и другие вещи, которые просто невозможны с типами данных на большинстве языков программирования. Представить эту сложную систему типов в Java или любом языке программирования необходимо было бы выполнить с помощью довольно сложного API. Вопрос в том, действительно ли это стоит? Я бы сказал, наверное, нет.
Вся идея, которую я ищу, чтобы стать альтернативой для генерации класса. Проблема в том, что схема часто меняется, и я не могу позволить себе обновлять обновленный код. Думаю, я надеялся использовать стандартную проверку схемы и использовать ее часть на своем собственном дворе. В конце концов, мне не нужно отображать типы xsd для типов java, все, что мне нужно, это информация об атрибуте «type» соответствующего элемента из схемы. – wilczarz