Usando a Ferramenta xjc JAXB para Gerar Classes JAXB a partir de um Arquivo de Esquema XML
Use a ferramenta xjc Java Architecture for XML Binding (JAXB) para compilar um arquivo de esquema XML para classes Java totalmente anotadas.
Antes de Iniciar
Sobre Esta Tarefa
Utilize as JAXB APIs e as ferramentas para estabelecer os mapeamentos entre um esquema XML e as classes Java. Os esquemas XML descrevem os elementos de dados e os relacionamentos em um documento XML. Depois de um mapeamento ou uma ligação de dados, você pode converter documentos XML para e a partir de objetos Java. Agora você pode acessar dados armazenados em um documento XML sem a necessidade de entender a estrutura dos dados.
Para desenvolver serviços da Web usando uma abordagem de desenvolvimento descendente iniciando com um arquivo Web Services Description Language (WSDL) existente, use a ferramenta wsimport para gerar os artefatos para os seus aplicativos Java API for XML-Based Web Services (JAX-WS) quando iniciar com um arquivo WSDL. Após a geração dos artefatos Java para seu aplicativo, você poderá gerar classes Java totalmente anotadas a partir de um arquivo de esquema XML usando a ferramenta de linha de comandos do compilador de esquema JAXB, xjc. As classes Java anotadas resultantes contêm todas as informações necessárias para que o tempo de execução JAXB analise o XML para o empacotamento e o desempacotamento. É possível usar as classes JAXB resultantes em aplicativos Java API for XML Web Services (JAX-WS) ou outros aplicativos Java para processar dados XML.


Além de usar a ferramenta xjc da linha de comandos, você pode chamar esta ferramenta JAXB a partir dos ambientes de construção Ant. Use a tarefa Ant com.sun.tools.xjc.XJCTask a partir do ambiente de construção Ant para chamar a ferramenta do compilador de esquema xjc. Para funcionar adequadamente, esta tarefa Ant requer que chame Ant usando o script ws_ant.

Procedimento
- Use o compilador de esquema JAXB, o comando xjc, para gerar classes Java JAXB anotadas. O compilador de esquema está localizado no diretório app_server_root\bin\. O compilador de esquema produz um conjunto de pacotes que contêm arquivos de origem Java e arquivos de propriedade JAXB dependendo das opções de ligação usadas para compilação.
- (Opcional) Use as declarações de ligações customizadas para alterar os mapeamentos JAXB padrão. Defina declarações de ligações no arquivo de esquema XML ou em um arquivo de ligações separado. É possível transmitir arquivos de ligações customizados usando a opção -b com o comando xjc.
- Compile os objetos JAXB gerados. Para compilar os artefatos gerados, inclua o Thin Client para JAX-WS com WebSphere Application Server no caminho de classes.
Resultados
Exemplo
- Copie o seguinte arquivo de esquema bookSchema.xsd para um diretório temporário.
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:element name="CatalogData"> <xsd:complexType > <xsd:sequence> <xsd:element name="books" type="bookdata" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:complexType name="bookdata"> <xsd:sequence> <xsd:element name="author" type="xsd:string"/> <xsd:element name="title" type="xsd:string"/> <xsd:element name="genre" type="xsd:string"/> <xsd:element name="price" type="xsd:float"/> <xsd:element name="publish_date" type="xsd:dateTime"/> <xsd:element name="description" type="xsd:string"/> </xsd:sequence> <xsd:attribute name="id" type="xsd:string"/> </xsd:complexType> </xsd:schema>
- Abra um prompt de comandos.
- Execute o compilador de esquema JAXB, o comando xjc, do diretório no qual o arquivo de esquema está localizado. A ferramenta do compilador de esquema xjc está localizada no diretório app_server_root\bin\.
A execução do comando xjc gera os seguintes arquivos Java JAXB:
generated\Bookdata.java generated\CatalogdData.java generated\ObjectFactory.java
- Use os objetos JAXB gerados em um aplicativo Java para manipular o conteúdo XML através das classes JAXB geradas.
Consulte a documentação de Implementação de referência JAXB para obter informações adicionais sobre sobre o comando xjc.