XML (eXtensible Markup Language) W3C - World Wide Web Consortium Url: www.w3c.org/ Documentos TXT estruturados? Por que XML? XML, ou eXtensible Markup Language, é uma linguagem definida para que o usuário possa criar suas próprias marcações. Foi criada pelo consórcio “World Wide Web Consortium (W3C)” para solucionar limitações da HTML, a Hypertext Markup Language que é a base para páginas Web. HTML Dados HTML podem ser transferidos e visualizados em palmtops, mainframes, podem ser convertidos em voz e em outros formatos também. <p><b>José de Almeida</b> <br> Rua Januário, no. 1401 <br> São Carlos, SP, 13562-310 </p> <p><b>José de Almeida</b> <br> Rua Januário, no. 1401 <br> São Carlos, SP, 13562-310 </p> José de Almeida Rua Januário, no. 1401 São Carlos, SP, 13562-310 Como pesquisar o CEP em uma aplicação? <p><b>José de Almeida</b> <br> Rua Januário, no. 1401 <br> São Carlos, SP, 13562-310 </p> <endereco> <nome> <primeiro-nome> José </primeiro-nome> <sobrenome> de Almeida </sobrenome> </nome> <rua> Januário </rua> <numero> 1401 </numero> XML <cidade> São Carlos </cidade> <estado> SP </estado> <CEP> 13562-310 </CEP> </endereco> XML ≠ HTML 1.Novas marcas podem ser definidas à vontade; 2.Estruturas podem ser aninhadas a profundidades arbitrárias; 3.Um documento XML pode conter uma descrição opcional de sua gramática. HTML - preocupação com a apresentação! XML - preocupação com o conteúdo! Sintaxe Básica XML Elementos Elemento <elemento> .... </elemento> <pessoa> <nome> Natália <idade> 25 </pessoa> </nome> </idade> Subelementos Elementos são utilizados como receptores de conteúdo para descrever texto; • • Elementos são utilizados para construir a estrutura dos documentos; E1 Elemento <tabela> <descrição> Pessoas na </descrição> <pessoas> <pessoa> <nome> Natália </nome> <idade> 25 </idade> </pessoa> <pessoa> <nome> Maria </nome> <idade> 26 </idade> </pessoa> </pessoas> </tabela> platéia E2 <tabela> <descrição> Pessoas na platéia </descrição> <pessoas> <pessoa> <nome> Natália </nome> <idade> 25 </idade> </pessoa> <pessoa> <nome> Maria </nome> <idade> 26 </idade> </pessoa> </pessoas> </tabela> Marcas devem ser armazenadas adequadamente; • • • Marcas são sensíveis à sintaxe; Todo documento XML tem que ter uma marca raiz; Obs: podem ocorrer elementos vazios! <elemento/> Sintaxe Básica XML Atributos Atributos <elemento nome_atributo=“valor”> Conteúdo </elemento> <produto> <nome origem=“Brasileira” > Celta </nome> <preco moeda=“real”> 13.000 </preço> </produto> • • Atributos são utilizados para descrever características de elementos; • Atributos podem ocorrer em marcas iniciais ou marcas vazias; Atributos podem conter vários valores, mas devem ser únicos; <elemento nome_atributo=“valor”/> Exemplos: <pessoa> <nome> Natália </nome> <idade> 25 </idade> <e-mail> [email protected] </e-mail> </pessoa> Ou <pessoa nome=“Natália” idade=“25" email=“[email protected]”/> Ou <pessoa idade=“25"> <nome> Natália </nome> <e-mail> [email protected] </e-mail> </pessoa> E4 Sintaxe Básica Referências de entidade & < ¯ usado para mostrar o caracter & ¯ usado para mostrar o caracter < > ¯ usado para mostrar o caracter > ' ¯ usado para mostrar o apóstrofo ‘ " ¯ usado para mostrar o caracter “ São entidades pré-definidas! XML e Dados Semi-estruturados <pessoa> <nome> Natália </nome> <idade> 25 </idade> <e-mail> [email protected] </e-mail> </pessoa> XML {pessoa: {nome: “Natália”, idade: 25, e-mail: “[email protected]”}} Dados Semi-estruturados Referências de XML <organizacao> <estado codigo_est =“e2"> <código_e> SP </código_e> <nome_e> São Paulo </nome_e> </estado> <cidade codigo_cid = ”c2"> <codigo_c> SCar </codigo_c> <nome_c> São Carlos </nome_c> <estado codigo_ref=”e2"/> </cidade> </organizacao> Construtores <?xml version="1.0" encoding="ISO-8859-1" ?> Indicação da versão da XML <?xml version = "1.0"?> <pessoa> <nome> Natália </nome> <idade> 25 </idade> <e-mail> [email protected] </e-mail> </pessoa> Construtores <?xml version="1.0" encoding="ISO-8859-1" ?> Indicação do conjunto de caracteres possíveis. <?xml version="1.0" encoding="ISO-8859-1 "?> <pessoa> <nome> Natália </nome> <idade> 25 </idade> <e-mail> [email protected] </e-mail> </pessoa> Construtores Comentários <!-- isto é um comentário --> <?xml version="1.0"?> <!-- Natália é estudante de Filosofia --> <pessoa> <nome> Natália </nome> <idade> 25 </idade> <e-mail> [email protected] </e-mail> </pessoa> Uso da XML XML simplificam troca de dados. Diferentes organizações (ou ainda, diferentes partes de uma mesma organização) raramente padronizam um conjunto de ferramentas; usando XML, cada grupo cria um utilitário simples que transforma seus dados internos para formato XML e vice-versa; XML possibilita código inteligente. Documentos podem ser estruturados para identificar toda peça importante de informação (assim como os relacionamentos entre as peças), tornando possível o processamento de código de documentos XML sem a intervenção humana. XML possibilita pesquisas inteligentes Documentos Inválidos, válidos e bem-formados Existem três classes de documentos XML: 1.Inválidos – documentos que não seguem as regras de sintaxe da especificação XML; 2.Válidos - documentos que seguem as regras de sintaxe da especificação XML e as regras definidas em sua DTD ou Schema (esquema); 3.Bem formados – documentos que seguem as regras de sintaxe da especificação XML, mas que não têm uma DTD ou um Schema; <?XML version="1.0"> <!-comentários e instruções de processamento> <!DOCTYPE livros SYSTEM "http://dc.ufscar.br/~mauro/livros.dtd"> <!-comentários e instruções de processamento> <livros> <livro categoria="referência"> <autor>Serge Abiteboul</autor> <título> Gerenciando Dados na Web </tíulo> <preço> 40 reais </preço> < /livro> <livro categoria="Botânica"> <autor>Inês Araújo</autor> <título> Árvores para reflorestamento </título> <preço> 25 reais </preço> < /livro> </livros> <!-comentários e instruções de processamento> Prólogo Corpo Epílogo