• Nenhum resultado encontrado

A.2. O que é XML-Schema?

A.2.1. Como Elaborar um Arquivo XML-Schema?

Para facilitar a elaboração da especificação, e como forma didática para entender o código resul- tante desta especificação adotamos o ambiente de Autoria Altova (ALTOVA, 2006). A baixo descrevemos o processo de elaboração neste ambiente para o arquivo XML-Schema que valida o XML do exemplo representado pela figura 61.

Portanto, ao iniciar o referido ambiente deve-se criar um arquivo novo. Ao fazer isto aparecerá uma lista com vários tipos de arquivos, escolha o tipo xsd. Então, aparecerá uma tela inicial para elaborar o XML-Schema (figura 63). Observe que nesta tela aparece "ENTER_NAME_OF_ROOT_ELEMENT_HERE", neste local deve-se colocar o nome do elemento-raiz do arquivo XML da figura 61, ou seja VisaoRela-

Figura 63: Tela Inicial do Ambiente Altova para Criar um Arquivo XML-Schema

Agora observe a figura 63 e veja que aparece um botão logo a baixo do botão para criar um arquivo novo. Clique neste botão, ao fazer isto aparecerá a seguinte tela (figura 64).

Figura 64: Menu de opções (Editor Altova)

Existem várias opções neste menu, porém não é nossa intenção ser exaustivo em passar muita infor- mação sobre o ambiente que estamos trabalhando, nem passar muita informação sobre a especificação

XML-Schema. Nossa meta é facilitar o aprendizado na elaboração do arquivo XML-Schema do exemplo

específico mostrado na figura 61. Então, seremos práticos e mostraremos só o essencial para atingir este objetivo.

Desta forma, selecione o menu, e clique em ComplexType, ao fazer isto aparece a tela da figura 65, onde deve-se digitar o nome do tipo complexo (ComplexType). Digite CtVisaoRelacional3.

Figura 65: Definindo Elementos e Tipos Complexos

Repita este processo e crie mais alguns tipos complexos e alguns elementos, obtendo a tela apresen- tada na figura 66. Observe que os elementos que foram criados nesta figura são os elementos utilizados no XML da figura 61. Os tipos complexos criados são relativos aos elementos que consideramos terem outros elementos internamente aninhados.

Figura 66: Especificação Inicial de um Arquivo XML-Schema

Para entender melhor este raciocínio observe a figura 67, onde procurou-se dividir hierarquica- mente os nós aninhados aos elementos em níveis.

Figura 67: Níveis Hierárquicos em um Documento XML

A interpretação da figura 67 mostra o resultado relativo ao arquivo XML da figura 61. Nesta figura foram identificados 3 níveis possíveis para serem representados por tipos complexos (ComplexType):

Nível 1: este nível começa a partir do nó raiz, ou seja, o elemento-raiz VisaoRelacional. Para este

elemento identificou-se um nível de complexidade. Portanto, existirá no arquivo XML-Schema a

definição de um elemento, denominado VisaoRelacional e que este elemento terá um tipo, este é um tipo complexo chamado CtVisaoRelacional.

Nível 2: segue o mesmo raciocínio anterior. Defini-se um elemento denominado Triplas, e um

tipo complexo denominado CtTriplas.

Nível 3: da mesma forma, define-se um elemento denominado Tripla e um tipo complexo deno- minado CtTripla.

Para os demais elementos folha (Objeto1, Relacao, Objeto2), decidiu-se definir cada um deles como sendo do tipo string. Pois, através destes elementos, ou seja, com a tag inicial e tag final de cada elemento pode-se armazenar dados internamente e estes dados, como representados na figura 67, são armazenados na forma de texto.

Portanto, a partir da especificação inicial exibida na figura 66, podem-se seguir mais alguns passos para finalizar o processo de criação do arquivo XML-Schema. Para um melhor entendimento, começare- mos a descrever o processo de especificação dos elementos e dos tipos complexos subindo na árvore, ou seja, primeiro descreveremos os elementos folha até chegar ao elemento-raiz.

Figura 68: Elaboração de um Arquivo XML-Schema (Etapas 1, 2, e 3)

As etapas referentes às figuras 68 a 74 são interpretadas da seguinte forma:

Etapas 1, 2, e 3: define-se o tipo string para cada um dos elementos (Objeto1, Relacao, e Objeto2).

Desta forma, estes elementos podem receber dados do tipo string quando for especificado um arquivo XML que seja validado por este XML-Schema;

Etapas 4, 5, e 6: estas etapas mostram como definir o tipo complexo CtTripla. Portanto, observa-

se que ao clicar no botão referente ao item 4 aparece uma janela um pouco diferente. Esta janela inicialmente só aparece o elemento CtTripla. Deve-se então, clicar com o botão direito do mouse neste elemento e selecionar a partir de um menu flutuante a opção Insert -> Sequence. Assim, a partir desta seqüência pode-se definir os elementos (Objeto1, Relacao, Objeto2). Mas para isso, deve-se clicar com o botão direito do mouse em seqüência selecionar no menu flutuante Insert -> Element, para então digitar Objeto14, logo após Relacao, e por último Objeto2.

Figura 70: Elaboração de um Arquivo XML-Schema (Etapas 7, 8, 9, e 10)

4O ambiente altova, por sua vez, pergunta se este e os outros dois elementos são globais. Deve-se responder

sim. Pois, foi considerado que todos os elementos no XML-Schema para este exemplo seriam globais, e não local ao bloco CtTripla que está sendo definido.

Etapas 7, 8, 9, e 10: a representação destas etapas na figura 70 mostra-se auto-explicativa, para

isso, basta seguir a descrição referente a cada etapa. Ao finalizar este processo, tem-se o ele- mento Tripla como sendo do tipo CtTripla.

Etapas 11, 12, 13, 14, e 15: estas etapas estão representadas na figura 71, que mostra passo-a-

passo como definir o tipo complexo CtTriplas.

Figura 71: Elaboração de um Arquivo XML-Schema (Etapas 11, 12, 13, 14, e 15)

Etapas 16, 17, 18, e 19: estas etapas são responsáveis pela definição do elemento tiplas. Portanto,

como as demais etapas anteriores, basta seguir a descrição pela numeração de cada etapa assim como apresentado na figura 72, para entender o processo resultante.

Figura 72: Elaboração de um Arquivo XML-Schema (Etapas 16, 17, 18, e 19)

Etapas 20, 21, e 22: resta agora definir apenas mais um tipo complexo, ou seja, CtVisaoRela- cional. A partir deste ponto, não é mais necessário mostrar todos as etapas para tal êxito. As-

sim, mostra-se de forma resumida na figura 73 como é realizada a definição do tipo complexo

CtVisaoRelacional.

Etapas 23, 24, e 25: o último passo para concluir o processo de definição do arquivo XML- Schema é a definição do elemento-raiz VisaoRelacional. Portanto, similarmente ao que já foi

apresentado, mas de forma resumida é apresentado na figura 74 como definir este elemento.

Figura 74: Elaboração de um Arquivo XML-Schema (Etapas 23, 24, e 25)

Após a modelagem gráfica que foi realizada no ambiente Altova, obtém-se o código XML-Schema resultante representado pela figura 75. Nesta figura pode-se observar que foi introduzida uma numeração para melhor esclarecer este código em relação à modelagem que foi realizada. Deixa-se claro, que não é a intenção deste documento ser exaustivo em explicar a sintaxe de arquivos XML-Schema, maiores detalhes sobre a sintaxe obtém-se em (W3SCHOOLS, 2005a). Portanto, a partir da numeração definida na

figura 75, pode-se esclarecer resumidamente este código com segue:

Os itens 1 e 2: definem o cabeçalho do arquivo.

O item 3: define a especificação para o elemento-raiz de um possível arquivo XML que utilize este XML-Schema para ser validado. Este elemento é VisaoRelacional, que é do tipo CtVisaoRela- cional (observe a figura 74 para poder visualizar graficamente o elemento VisaoRelacional).

O item 4: define o tipo complexo CtVisaoRelacional que foi especificado graficamente na figura

73. Nesta especificação gráfica, observa-se que foi criada uma seqüência e logo após um elemento

Triplas, e é justamente o que foi representado no código da figura 75.

O item 5: define um elemento cujo nome é Triplas e seu tipo é CtTriplas (observe que a especifi-

cação deste trecho de código foi definida na figura 72).

O item 6: define o tipo complexo CtTriplas que foi especificado na figura 71. Nesta especifi-

cação gráfica foi criada uma seqüência e também um elemento Tripla, e neste foi definida uma

cardinalidade (de um a infinito).

Figura 75: XML-Schema Exemplo - resultante da modelagem realizada no Ambiente Altova

O item 7: define um elemento cujo nome é Tripla, e seu tipo é CtTripla (especificação gráfica na

figura 70).

O item 8: define o tipo complexo CtTripla que foi especificado na figura 69. Nesta especificação

gráfica, foi criada uma seqüência e três elementos: Objeto1, Relacao, Objeto2.

O item 12: fecha a tag referente a xs:schema que foi aberta no item 2 do cabeçalho deste arquivo.

Como apresentado, o arquivo XML-Schema está pronto! Portanto, o que deve ser feito para elaborar um arquivo XML neste mesmo ambiente? Para isso, basta criar um arquivo novo, escolher o tipo XML

document e indicar onde está gravado o arquivo XML-Schema. Assim, o ambiente está pronto para

validar um arquivo XML e indicar possíveis falhas de sintaxe na elaboração (digitação no ambiente altova) do mesmo.

Por outro lado, uma outra vantagem de se ter um arquivo XML-Schema é que este arquivo pode ser usado em uma compilação para gerar uma API5java personalizada, onde é possível manipular o

XML correspondente, que será validado pelo respectivo XML-Schema que foi usado pelo processo de compilação.

A.3. COMO GERAR UMA API JAVA A PARTIR DO