В настоящее время я работаю над кодом Java, который использует JaxB для обработки чтения / записи информации XML.Он заполняет класс Java, который используется в программе.В определенные моменты класс распределяется и записывается обратно в xml.У меня нет проблем с этим, и все работает так, как и ожидалось.
Что мне интересно, так это то, есть ли способ изменить формат записи JaxB чисел с плавающей запятой.Например, часть используемой мной xml-схемы содержит следующую выдержку:
.
.
<xs:element name="myObfuscatedValue">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:double">
<xs:attrbute name="myObfuscatedValue__comment" type="comment" use="optional" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
.
.
Поэтому, когда я отменяю маршалинг, myObfuscatedValue в основном представляет собой Double.Затем у меня есть класс-оболочка для сгенерированных JaxB-классов, который позволяет пользователю получать доступ / изменять переменные через стандартные методы установки / получения.Также хорошо работает маршаллинг.
Я также хочу сделать так, чтобы JaxB записал удвоение в определенном числовом формате (что-то похожее на десятичный формат, например, «0,0000E00». Можно ли это сделать легко?Как мне это сделать, меня обошли несколько разных ресурсов, но я признаю, что мои знания xml / schemas / JaxB устарели. Есть ли способ изменить вызов xjc, чтобы сделать это? Если возможно, яЯ хочу избегать изменения файла схемы, если это возможно (он используется несколькими кодами на разных языках, и я должен понять, если его изменение сначала нарушит какой-либо из этих кодов).по этому вопросу будет принята с благодарностью.