Introdução ao XML. Extensible Markup Language

Documentos relacionados
Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) XML Origens. HTML Problemas

extensible Markup Language (XML) XML é uma linguagem de anotação. XML utiliza tags para descrever informação.

XML extensible Markup Language. Prof. Fellipe Aleixo

XML Básico. Murillo Vasconcelos Henriques B. Castro. 17 de maio de 2011

GERÊNCIA DE DADOS SEMIESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc.

XML XML. XML extensible Markup Language HTML. Motivação. W3C: World Wide Web Consortium XML 1.0. Mário Meireles Teixeira DEINF-UFMA

GERÊNCIA DE DADOS SEMI ESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc.

MAPEAMENTO DE CONSULTAS SQL EM XML ENTRE SISTEMAS GERENCIADORES DE BANCO DE DADOS RELACIONAIS

GERÊNCIA DE DADOS SEMIESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc.

XHTML 1.0 DTDs e Validação

Algoritmia e Programação APROG HTML. Introdução. Nelson Freire (ISEP DEI-APROG 2014/15) 1/15

XML. 1. XML: Conceitos Básicos. 2. Aplicação XML: XHTML 3. Folhas de Estilo em Cascata XML

XML (extensible Markup Language)

Técnicas e processos de produção. Profº Ritielle Souza

GERÊNCIA DE DADOS SEMIESTRUTURADOS -DTD. Prof. Angelo Augusto Frozza, M.Sc.

Este relatório tem por objetivo, abordar a sintaxe XML.

XML e Banco de Dados. Prof. Daniela Barreiro Claro DCC/IM/UFBA

Um documento XML possui Unidade lógica - os elementos Usuário "inventa" as marcas através de DTDs

Introdução e motivação SGBD XML Nativo Consultas em SGBDs XML Prática. Bancos de dados XML. Conceitos e linguagens de consulta

XML e Banco de Dados de Internet. Tópicos Especiais em Tecnologia da Informação Profa. Késsia R. C. Marchi

Tutorial exe elearning XHTML editor (versão 1.0x)

XML para transferência de dados Estrutura hierárquica do XML DTDs e XML Schema Consultas de documentos XML: XPath e XQuery Transformação de

GERÊNCIA DE DADOS SEMI ESTRUTURADOS - XQUERY. Prof. Angelo Augusto Frozza

O que é o JavaScript?

Internet e Programação Web

XML - DTD - XSL Exemplos de Exercícios TWEB II

Informática I. Aula 6. Aula 6-12/09/2007 1

Introdução ao HTML 5 e Implementação de Documentos

Introdução. Definição. Validação. Universo XML. Apresentação. Processamento. Prof. Enzo Seraphim. Banco de Dados

Apostila de XHTML Curso de Internet Professor Rinaldo Demétrio

XPath e XSLT. Ferramentas para Internet Marx Gomes Van der Linden. ( Material baseado no original de Marcelo José Siqueira Coutinho de Almeida )

Desenvolvimento Web Introdução a XHTML. Prof. Bruno Gomes

Desenvolvimento em Ambiente Web. HTML - Introdução

O código JavaScript deve ser colocado entre tags de comentário para ficar escondido no caso de navegadores antigos que não reconhecem a linguagem.

#Aula Nº 1 Introdução webstandards.samus.com.br Vinicius Fiorio Custódio samus@samus.com.br

Webdesign HTML. Introdução a HTML e as principais tags da linguagem. Thiago Miranda dos Santos Souza

HTML / JAVASCRIPT. A versão atual é o HTML5 (seus predecessores imediatos são HTML 4.01, XHTML 1.1, etc.).

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0

WEBDESIGN. Professor: Paulo Trentin Escola CDI de Videira

CONVENÇÃO DE CÓDIGO JAVA

PROGRAMAÇÃO MANUAL DE INSTRUÇÕES SEJA BEM VINDO VERSÃO /01/2013 UDS SOLUÇÕES DIGITAIS

1. HTML - Introdução. Hyper Text Markup Language. É uma linguagem de formatação de conteúdos. Portável. Ficheiros de pequena dimensão

Roteiro 2: Conceitos de Tags HTML

Exame de Época Especial / 1º Semestre / 2007/2008. Todas as folhas devem ser identificadas, de forma legível, com o nome e número do aluno.

TECNOLOGIAS WEB AULA 5 PROF. RAFAEL DIAS

Tutorial. Introdução ao XML e tecnologias associadas. Aplicações e dialectos XML. Sessão Fevereiro XATA 06

Web Design. Prof. Felippe

Criando um script simples

Leiaute-IMPORTAÇÃO-Plano de Contas - XML

GESTÃO DA CADEIA DE SUPRIMENTOS FORMAS DE TROCA DE INFORMAÇÃO: EDI E XML

Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Felippe Scheidt IFPR Campus Foz do Iguaçu 2014/2

Lista de Revisão. 3. Analise a afirmativa a seguir como verdadeira ou falsa e justifique.

DWEB. Design para Web. CSS3 - Fundamentos. Curso Superior de Tecnologia em Design Gráfico

Programação para Internet I 4. XML. Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt

Internet. Gabriela Trevisan Bacharel em Sistemas de Infomação

Folhas de estilo. Jomi Fred Hübner (XSL e XPath) FURB / DSC

NOME SEXO CPF NASCIMENTO SALARIO

JavaScript. JavaScript é uma linguagem de script usada em navegadores web. É uma linguagem dinâmica, estruturada e orientada em objetos.

HTML. Sessão 1 HTML. Cliente: browser (IE, por exemplo) Servidor: IIS (Internet Information Server), Apache, WebSphere,...

Web. Web. Web. Web. Unidade 4. Conceitos básicosb. Publicação. Web: Frontpage Programa de animação gráfica. Programa de edição

JSP - ORIENTADO A OBJETOS

Introdução ao PHP. Prof. Késsia Marchi

Algoritmos em Javascript

HTML. Conceitos básicos de formatação de páginas WEB

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

Tecnologias para Web Design

Aula 2: Listas e Links

Aula de JavaScript 05/03/10

Os objetivos indicados aplicam-se a duas linguagens de programação: C e PHP

7. Cascading Style Sheets (CSS)

Programação Web Prof. Wladimir

Bem-vindo ao XML. Apostila de XML

Lista de operadores de comparação - > Maior que - < Menor que - <= Menor ou igual a - >= Maior ou igual a - === Igual a -!

Desenvolvimento em Ambiente Web. Prof. André Y. Kusumoto

Programação para Internet Avançada. 4. Web Services. Nuno Miguel Gil Fonseca

Linguagem de Programação I


Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre

Guia de Consulta Rápida XHTML. Juliano Niederauer. Novatec Editora.

Linguagem de Programação. Introdução ao PHP. Prof Mauricio Lederer Ciência da Computação - UNIANDRADE 1

HTML (Hyper Text Markup Language) É a linguagem com que se escrevem as páginas web;

Conjunto de instruções do CPU. Arquitectura de um computador. Definição das instruções (1) Definição das instruções (2)

PROJ. Nº LLP NL-ERASMUS-ECUE

Web Design Aula 13: Introdução a CSS

Memória Flash. PdP. Autor: Tiago Lone Nível: Básico Criação: 11/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos

Programação web Prof. Wladimir

XML para transferência de dados Estrutura hierárquica do XML DTDs e XML Schema Consultas de documentos XML: XPath e XQuery Transformação de

Ajax Asynchronous JavaScript and Xml

PHP. Hypertext Pre-Processor

Introdução à Tecnologia Web HTML HyperText Markup Language XHTML extensible HyperText Markup Language Estrutura Básica do Documento HTML

Transcrição:

Introdução ao XML Extensible Markup Language

Tutorial - XML XML: Extensible Markup Language Uma linguagem de marcas na estruturação, no armazenamento e no transporte de dados na Web Gere os dados numa estrutura tipo árvore. Só uma raiz Descrição dos dados em formato texto. Simples, permite que seja utilizado a través de diferentes plataformas de software e hardware Simples de perceber e de ler. Para o computador e as pessoas Excelente para armazenamento de dados no longo prazo Utiliza um conjunto de módulos capazes de responder as diferentes tipos de demandas dos utilizadores Um simples exemplo: catalogo de plantas (Não há display!) 2

Tutorial - XML Apoiado em diferentes módulos: XSLT: Linguagem extensível de Folhas de Estilo. Mostra como deve ser estruturado o conteúdo, como desenhar o conteúdo de origem, como deveria ser paginado para apresentações (Extensible Stylesheet Language Transformation). exemplo Xlink: Linguagem de ligação XML. Permite inserir elementos em documentos XML para criar ligações entre recursos XML Xpath: Linguagem de rotas XML. Permite o acesso a partes dum documento XML. Xpointer: Linguagem de redireccionamento Permite o acesso a estrutura interna dum documento XML: elementos, atributos, conteúdos XQL: Linguagem de pesquisa XML. Facilita a extracção de dados desde documentos XML. 3

Tutorial XML DTD Linguagem para definição do esquema. Especificação do XML 1.0 Estrutura Esquema XML Definição da linguagem do esquema do documento Selecção XPath Linguagem para indicar caminho dum documento XML na sua estrutura de árvore para seleccionar elementos e atributos Transformação XSLT Especifica o mecanismo para transformar um doc. XML num documento XML de estrutura diferente Mostrar (display) CSS XSL-FO Uma especificação do formato do desenho de dados no XML e HTML Linguagem para descrição do desenho dum doc XML Protocolo SOAP Protocolo de mensagem baseado no XML 4

Tutorial - XML Não confundir XML com HTML = Hyper Text Markup Language Ambas duas, XML e HTML utilizam tags, (marcas), mais tem diferenças: HTML desenhada para mostrar dados. XML, desenhada para armazenar e transferir dados As marcas do HTML são predefinidas (<p> <tr> <href > As marcas em XML as define você. A única restrição é respeitar o aninhamento das marcas <nome> <primeiro>ana Sofia</primeiro> <apelido>guimarães</apelido> </nome> Cada peça individual de dados colocada entre as marcas Antes de aprender XML era conveniente primeiro dar uma vista de olhos ao HTML e ao javascript 5

Tutorial - XML <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE tuplo-produto SYSTEM "file:///c:/xml/edit_produto.dtd"> <tuplo-pruduto> <produto id= HP-G6-4000 > <nome> Laptop HP Pavillion g6</nome> <categoria> computador portatil</categoria> marca> Hewlett-Packard <preço> 538,50</preço> <link> http://www.hewlett-packard.com</link> </marca> <caracteristicas> processador Intel core i5 dual, 2.6Ghz, 4 Gb RAM, placa gráfica super boa, etc </caracteristicas> </produto> </tuplo-pruduto> 6

Documentos bem formados Bem formados (well formed): documentos que cumprem todas as definições básicas de formato. Assim podem ser analisados por qualquer analisado sintáctico (parser) que cumpra com a norma Documentos devem seguir: Estrutura estritamente hierárquica das etiquetas (tags) delimitadoras. Etiquetas devem estar correctamente aninhadas Os elementos com conteúdos devem estar correctamente fechados Só um elemento raiz a partir do qual todos os outros são parte. ( tuplo_produto no exemplo) 7

Documentos bem formados Os valores de atributos devem estar entre aspas simples o duplas. <nome id= 207875342 >Maria José</nome> XML é sensível a maiúsculas e minúsculas. Existem caracteres "espaços em branco" (espaços, tabulações, saltos de linha, "returns") que os processadores XML tratam conforme o parser XML. É preciso atribuir nomes as estruturas, tipos de elementos, entidades, elementos particulares, etc. As construções etiquetas, referencias de entidade e declarações se chamam marcas; são parte do documento. O resto do documento entre marcas corresponde aos dados 8

Partes dum documento XML Duas partes: prólogo e corpo do documento Prólogo: (opcional) Uma declaração indicando que se trata de um docto. XML A versão do XML Uma declaração do tipo de documento. Relaciona o documento com a sua DTD (document type definition) Um ou mais comentários e Instruções de processamento Ex.: <?xml version="1.0" encoding="iso-8859-1"?> A DTD especifica o tipo de documento, as restrições da estrutura e a sintaxe do documento 9

Partes dum documento XML Corpo: <obrigatótio. Não é opcional. Deve pelo menos conter um elemento raiz <?xml version="1.0" encoding="iso-8859-1"?> <livro> <titulo>o livro das Mentiras</titulo> <capitulo> <ctitulo>capitulo III: a mentira sempre se descobre </ctitulo> <seção> <stitulo>mentiras e boatos</stitulo> </seção> </capitulo> </livro> 10

Partes dum documento XML Marcas (tags) <produto>...</produto> Identificadas por qualquer nome que o programador quiser lhe dar Elementos produto Os elementos XML podm ter conteúdo (outros elementos, caracteres ou ambois dois).ou bem estar vazios Atributos (um par nome/valor) Os elementos podem ter atributos, ou seja, as características dos elementos dum documento. Devem ser inseridos entre aspas. Estaõ entre as tags do elemento Ex.: o elemento «barco» tem um atributo «nome» e um atributo «matricula», con valores "furação" e «C-049» <barco nome= "furação" matricula="c-049"> Que lindo barco de Faro </barco> Ex.: O elemento imagem tem dois atributos, fonte e autor: <imagem fonte="madonna.jpg" autor="foligno Madonna, Rafael"</imagem> 11

Partes dum documento XML Entidades predefinidas Entidades para representar caracteres especiais, de maneira não serem interpretados sintacticamente pelo parser XML. As entidades podem ser: Internas o externas Analizadas o no analizadas Generais ou parametrizadas &lt < Menor que &gt > Maior que &amp & comercial &apos ' plica &quot aspas 12

Partes de um documento XML Secção CDATA Uma construção para especificar dados que não serão interpretados Como alias são todos os dados no interior de marcas Não confundir com (#PCDATA) que serve para os elementos. Permite que caracteres especiais não rompam a estrutura. CDATA (unparsed character data) A secção CDATA começa com: "<![CDATA[" e termina com: "]]>": <![CDATA[conteúdo especial: \n áéíóúñ&]]> Comentários Serão ignorados pelo processador. <!--- Un comentario ---> <!-- Otro comentario --> 13

<comparação> <![CDATA[ function compara(a,b,c) { if (a > b && b > c) then { return 1; } else { return 0; } } ]]> </comparação> Partes de um documento XML O parser do XML não vai interpretar o código em CDATA 14

Partes de um documento XML Tipos de atributos Atributos CDATA e NMTOKEN Atributos enumerados y notações Atributos ID e IDREF: para restrições referenciais 15

Partes de um documento XML PCDATA (parsed character data) Em geral XML faz a interpretação de todos os caracteres do texto No "parser", o texto entre as marcas (tags) é também processado: <mensagem>este texto será processado pelo parser</mensagem> Isto é feito porque uns elementos podem conter outros elementos Repare: elemento <pessoa> contem dois outros elementos (nome e apelido): <pessoa> <nome>josé</nome> <apelido>saramago</apelido> </pessoa> Outros exemplos em: http://www.w3schools.com/xml/xml_examples.asp 16

Exemplos XML Em XML você define as marcas <?xml version="1.0" encoding="iso-8859-1"?> <nota> <para>angelina Jolie</para> <de>patricio</de> <cabecalho>lamento imenso!</cabecalho> <corpo>não consigo estar contigo hoje</corpo> </nota> Validade: acima se indica o standard seguido para ser considerado um documento bem formado. Só que isso não chega!! 17

Tutorial - XML Tal como no caso das BD, um documento XML tem uma espécie de descritor dos seus dados. Isto pode ser feito com uma DTD ou com um XML schema DTD: DATA TRANSFER DEFINITION Uma estrutura que define os dados a serem manipulados. Uma metadata: Definição dos dados sobre os dados Na DTD se definem os tipos de elementos, atributos e entidades permitidas. Pode ser interna (no documento) ou externa (ficheiro) Os documentos XML que se ajustam a sua DTD são denominados válidos A DTD faz parte do standard do XML 18

Tutorial - XML Eis a A DTD do documento tuplo-produto anterior: <!ELEMENT tuplo-produto (produto, nome, categoria, marca, caracteristicas)* > <!ELEMENT produto(nome,categoria,marca,caracteristicas) <!ELEMENT nome (#PCDATA)> <!ELEMENT categoria (#PCDATA)> <!ELEMENT marca (preco, link)> <!--elemento complexo --> <!ELEMENT preco (#PCDATA)> <!ELEMENT link (#PCDATA)> <!ELEMENT caracteristicas (#PCDATA)> Na DTD se definem os tipos de elementos, atributos e entidades permitidas. Pode ser interna (no documento) ou externa (ficheiro) Os documentos XML que se ajustam a sua DTD são denominados válidos 19

XML - DTD Cada documento que esta conforme o seu DTD tem só 1 elemento raiz: tuplo-produto A raiz contem zero ou mais elementos produto DOCTYPE: indica uma DTD externa. Onde fica o ficheiro que contem as suas definições Qualquer documento que pretenda lidar com tuplo-produto vai indicar isto no inicio do documento como vimos No caso DTD interna, a DTD precede o elemento raiz Cada elemento que contem #PCDATA vai conter texto Cada tuplo-produto contem exactamente 1 atributo produto, nome, categoria, marca e caracteristicas Cada elemento marca tem 1 elemento preco e 1 elem. link 20

O DTD tem limitações: XML Todos os dados definidos são de tipo texto As restrições existem ao nivel dos elementos, mais ao nivel dos atributos para os quais praticamente não se podem definir Não existe maneira de definir algo semelhante a chaves primárias, assim como chaves compostas Não utilizam sintaxe XML, (eles próprios não são documentos XML). Portanto não podem ser processados pelo parser do XML Existe algum apoio a restrições de unicidade e referenciais (ver mais enfrente tipos de atributos ID e IDREF Os elementos devem aparecer numa dada sequência, mesmo que em termos relacionais isto não tenha significado especial 21

Transformação do XML em XSL Extensible Stylesheet Language (versão 1.1) Uma linguagem avanzada para criar folhas de estilo Recebe o input em XML e uma folha de estilo XSL e produz o output a apresentação do doc XML Transforma, ordena e filtra dados XML, formatando baseado nos seus valores indicando de que modo o documento XML deveria ser apresentado O processo tem duas fases: Tree transformation: Cria uma árvore e logo Transformation interpreta a árvore resultante para efeitos de sua apresentação. 22

Transformação do XML em XSL Extensible Stylesheet Language (versão 1.1) Recebe o input em XML e uma folha de estilo XSL e produz o output a apresentação do doc XML. Exemplo: Tínhamos o seguinte documento XML (http://www.w3.org/tr/xsl/) <?xml version="1.0" encoding="iso-8859-1"?> <livro> <titulo>o livro das Mentiras</titulo> <capitulo> <ctitulo>capitulo III: a mentira sempre se descobre </ctitulo> <seção> <stitulo>mentiras e boatos</stitulo></seção> </capitulo> </livro> 23

XML transformação XSL O cabeçalho do novo documento: <!-- Transforma o documento XML anterior nun documento XHTML --> <xsl:stylesheet version="1.0" xmlns="http://www.w3.org/1999/xhtml" xmlns:xsl="http://www.w3.org/1999/xsl/transform"> <xsl:strip-space elements="livro capitulo titulo"/> <xsl:output method="xml" indent="yes" encoding="iso-8859-1" doctype-public="-//w3c//dtd XHTML 1.1//EN" doctype-system="http://www.w3.org/tr/xhtml11/dtd/xhtml11.dtd"/> 24

XML transformação XSL <!-- Utiliza o título do livro como título do documento XHTML --> <xsl:template match="livro"> <html> <head> <title> <xsl:value-of select="titulo"/> </title> </head> <body> <xsl:apply-templates/> </body> </html> </xsl:template> <!-- Utiliza o titulo do livro também com nível H1 --> <xsl:template match="livro/titulo"> <h1> <xsl:apply-templates/> </h1> </xsl:template> 25

XML transformação XSL <!-- Os títulos dos capítulos aparecem como H2 > <xsl:template match="capitulo/titulo"> <h2> <xsl:apply-templates/> </h2> </xsl:template> <!-- Os títulos das secções aparecerão como H3 --> <xsl:template match="seccion/titulo"> <h3> <xsl:apply-templates/> </h3> </xsl:template> </xsl:stylesheet> Ver um excelente exemplo: http://www.w3schools.com/xml/tryxslt.asp? xmlfile=simple&xsltfile=simple 26

XML Xpath, XLink Exemplo de código Xpath: <!-- Toma todos os elementos titulo no interior do elemento capítulo e os elementos autor ao interior do elemento capitulo /doc/capitulo/titulo /doc/capitulo/autor Exemplo de código Xlink: <my:crossreference xlink:href="libro.xml" xlink:role="http://www.example.com/linkprops/listalibros" xlink:title="lista de libros"> Lista actual de libros </my:crossreference> 27

XML Xpointer, Xquery Exemplo de código Xpointer: (http://www.w3.org/tr/xptr/) documento.xml#xpointer( /libro/capitulo[@public])xpointer(/livro/capitulo[@num="1"]) Exemplo de código de Xquery: (http://www.w3.org/xml/query/) <!-- Livros escritos por Mia Counto após ano 2000 --> <biblioteca> { for $b in doc("http://livro.example.com/bib.xml")/bib/livro where $b/autor = "Mia Counto" and $b/@anio > 2000 return <livro ano="{ $b/@ano }"> { $b/titulo } </livro> } </biblioteca> 28

XML Schema: XSD Descreve a estrutura dum documento XML. Também conhecida como XML Schema Definition: XSD Recomendação w3c desde 2001 Define os elementos que podem aparecer num documento Define os atributos que podem aparecer no documento Define quais elementos são elementos filhos de outros Define a ordem dos elementos filhos Define se um elemento está vazio ou pode incluir texto Define tipos de dados para elementos e atributos Define valores fixos ou por defeito para elementos e atributos XSD é o sucessor do DTD Manual de referencia: http://www.w3schools.com/schema/schema_elements_ref.asp 29

XML Schema: XSD.<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/xmlschema"> <xs:element name="memorando"> <xs:complextype> <xs:sequence> <xs:element name="para" type="xs:string"/> <xs:element name="de" type="xs:string"/> <xs:element name="titulo" type="xs:string"/> <xs: element name= data type= xs:date/ > <xs: element name= numero type= int/> <xs:element name="texto" type="xs:string"/> </xs:sequence> </xs:complextype> </xs:element> </xs:schema> 30

XML e HTML: páginas <html> <body> <script> if (window.xmlhttprequest) {// codigo para IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else {// código para IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.open("get","cd_catalog.xml",false); xmlhttp.send(); xmldoc=xmlhttp.responsexml; document.write("<table border='1'>"); var x=xmldoc.getelementsbytagname("cd"); for (i=0;i<x.length;i++) { document.write("<tr><td>"); Criarmos variavel para um objecto XMLHttpRequest(), conforme browser. Ler ficheiro cd_catalog.xml carregando na variável XMLHttpRequest utilizando o GET e carregamos num array x todo o ficheiro onde o tuplo é a marca <CD> Criamos uma tabela <table border..> E fazemos um ciclo para mostrar ( document.write ) um a um os tuplos utilizando as filas da tabela <tr> e células <td> Estão no formato XML document.write(x[i].getelementsbytagname("artist")[0].childnodes[0].nodevalue); document.write("</td><td>"); document.write(x[i].getelementsbytagname("title")[0].childnodes[0].nodevalue); document.write("</td></tr>"); } document.write("</table>"); </script> </body> </html> 31

XML e HTML: mostrar páginas O resultado da leitura do ficheiro dos CD e a sua formatação numa tabela HTML, da o resultado que pode ser visto aqui: http://www.w3schools.com/xml/tryit.asp?filename=tryxml_di splay_table 32

XML Fim do modulo Fim da cadeira HASTA LA VISTA BABY! 33