У меня есть набор файлов xsd для разных типов данных. Как лучше всего создать список свойств типов в мире Java?
например. с этими двумя файлами.
файл: customer.xsd
<?xml version="1.0" encoding="ISO-8859-1" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="customer">
<xs:complexType>
<xs:sequence>
<xs:element name="number" type="xs:integer"/>
<xs:element name="name" type="xs:string"/>
<xs:element name="address" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
файл: order.xsd
<?xml version="1.0" encoding="ISO-8859-1" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="customer">
<xs:complexType>
<xs:sequence>
<xs:element name="orderid" type="xs:integer"/>
<xs:element name="customer" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Я бы хотел сделать две вещи
1. Java-приложение, которое читает в XSD и затем обрабатывает (каким-то образом?). Поэтому, когда вы запускаете программу, она может распечатать свойства
> java -jar printtypes.jar -f customer.xsd
> number : Integer
> name : String
> address : String
2. какое-то преобразование, которое генерирует новый файл
файл: customer.properties
<propertylist>
<prop>
<name> orderid </name>
<type> integer </type>
</prop>
<prop>
<name> customer </name>
<type> string</type>
</prop>
</propertylist>
Я пытался реализовать программу в (1) выше, используя отражение Java для опроса классов Java, сгенерированных JAXB.
Это создало экземпляр класса и опросило значения и поля, но это не работает, когда значения состоят из пустой последовательности. Невозможно вернуться к исходному типу значения из-за стирания типа. В итоге вы получите пустой ArrayList чего-то, но вы не знаете что.
Я работаю в C ++, поэтому на данный момент я немного растерялся со всей этой технологией Java. Мои возможности Google подвели меня - большинство сообщений JAVA / XSD, о которых я слышал, говорят о проверке, а это не то, что я хочу делать.