Есть ли способ генерировать java.awt.Image из схемы .xsd? - PullRequest
1 голос
/ 27 марта 2012

У меня есть большие сомнения.Всякий раз, когда я использую base64Binary в схеме .xsd и использую JaxB для преобразования его в класс Java, я получаю тип byte [].

Я хочу создать такую ​​схему, чтобы тип java генерировался изэто java.awt.Image.Возможно ли это?

Я пробовал что-то вроде этого:

<element name="name" type="base64Binary" xmime:expected(entreTypes = "image/jpeg")/>

Результатом был байт [].

Я знаю это из java.awt.Image, если япреобразовать в схему я получаю только

<element name="name" type="base64Binary"/>

Но есть ли способ получить его java.awt.Image из .xsd?

Ответы [ 2 ]

2 голосов
/ 27 марта 2012

Вы можете изменить объявление элемента в своей XML-схеме, чтобы оно выглядело следующим образом, чтобы сгенерировать тип java.awt.Image:

<xsd:element name="name"
    type="xsd:base64Binary"
    xmime:expectedContentTypes="image/jpeg"/>

Для получения дополнительной информации

0 голосов
/ 27 марта 2012

Что на самом деле будет храниться в XML, изображение в формате JPEG?

Вы можете использовать Toolkit.createImage(byte[]) для создания java.awt.Image из данных JPEG.

Или, если вам нужен BufferedImage, вы можете заключить байтовый массив в ByteArrayInputStream и использовать ImageIO.read(InputStream) для его чтения.

...