A e xtensible markup language (xml)
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

A e xtensible markup language (xml)

on

  • 1,104 views

 

Statistics

Views

Total Views
1,104
Views on SlideShare
413
Embed Views
691

Actions

Likes
0
Downloads
9
Comments
0

4 Embeds 691

http://lilianajoao.blogspot.com 673
http://lilianajoao.blogspot.pt 11
http://www.blogger.com 6
http://lilianajoao.blogspot.com.br 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft Word

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

A e xtensible markup language (xml) Document Transcript

  • 1. Instituto Superior de Entre Douro e VougaTecnologias da Informação e da Comunicação│2011/2012 Tecnologia de Internet Trabalho realizado por: Liliana João Monteiro da CostaSanta Maria da Feira, 25 Novembro de 2011
  • 2. 4- Tecnologias de Internet XML ÍNDICE1. HTML versus XML …………………………………………………... 2 2. Regras de Construção………………………………………. 3 2.1 Regras de Sintaxe…………………………………………… 3 2.2 Secções CDATA……………………………………………. 6 2.3 Esquema DTD………………………………………………. 7 2.4 Esquema XML Schema……………………………………. 83. Modelos de Processamento ………………………………………. 11 3.1 SAX……………………………………………………………. 11 3.2 O DOM………………………………………………………... 114. Conclusão……………………………………………………………. 135. Bibliografia…………………………………………………………… 14Liliana Costa 3722 ISVOUGA Página 1 de 14
  • 3. 4- Tecnologias de Internet XML1. HTML Versus XMLHTML e XML são primos. Eles derivam da mesma inspiração, o SGML. Ambosidentificam elementos em uma página e ambos utilizam sintaxes similares. Se você éfamiliar com HTML, também o será com o XML. A grande diferença entre HTML e XMLé que o HTML descreve a aparência e a ações em uma página na rede enquanto oXML não descreve nem aparência e ações, mas sim o que cada trecho de dados é ourepresenta. Em outras palavras, o XML descreve o conteúdo do documento.Como o HTML, o XML também faz uso de tags (palavras encapsuladas por sinais < e>) e atributos (definidos com name="value"), mas enquanto o HTML especifica cadasentido para as tags e atributos (e frequentemente a maneira pela qual o texto entreeles será exibido em um navegador), o XML usa as tags somente para delimitartrechos de dados, e deixa a interpretação do dado a ser realizada completamente paraa aplicação que o está lendo. Resumindo, enquanto em um documento HTML uma tag<p> indica um parágrafo, no XML essa tag pode indicar um preço, um parâmetro, umapessoa, ou qualquer outra coisa que se possa imaginar (inclusive algo que não tenhanada a ver com um p como por exemplo autores de livros).Os arquivos XML são arquivos texto, mas não são tão destinados à leitura por um serhumano como o HTML é. Os documentos XML são arquivos texto porque facilitam queos programadores ou desenvolvedores "debuguem" mais facilmente as aplicações, deforma que um simples editor de textos pode ser usado para corrigir um erro em umarquivo XML. Mas as regras de formatação para documentos XML são muito maisrígidas do que para documentos HTML. Uma tag esquecida ou um atributo sem aspastorna o documento inutilizável, enquanto, que no HTML isso é tolerado. Asespecificações oficiais do XML determinam que as aplicações não podem tentaradivinhar o que está errado em um arquivo (no HTML isso acontece), mas sim devemparar de interpretá-lo e reportar o erro.O XML tem os seguintes usos: Separar dados do HTML; Simplificar o compartilhamento de dados;Liliana Costa 3722 ISVOUGA Página 2 de 14
  • 4. 4- Tecnologias de Internet XML Simplificar a transferência de dados; Simplificar a mudança de plataforma; Ser a base para criação de novas linguagens2. REGRAS DE CONSTRUÇÃOAs regras de construção englobam os seguintes itens: sintaxe, secções CDATA,esquema DTD e XML schema. 2.1 REGRAS DE SINTAXEAs regras de sintaxe da XML são bastante simples, mas devem ser seguidasrigorosamente pelos interpretadores. Deste modo, estes programas podem ser menoscomplexos, evitando situações de interpretação ambígua. Sendo uma linguagembaseada em etiquetas, os documentos em XML têm que respeitar rigorosamente asregras de construção de elementos e atributos.Exemplo: <?xml version="1.0" encoding="ISO-8859-1"?> <mensagem> <de>Liliana Costa</de> <para>Nuno Peixoto</para> <assunto>Entrega de Trabalho Prático</assunto> </mensagem>Utilizando o exemplo acima descrito, podemos analisar as principais regras deconstrução de documentos XML.  O documento inicia-se com a declaração XML (pode surgir opcionalmente no início do documento), seguindo-se o início do elemento raiz do documento, que se chama mensagem.Liliana Costa 3722 ISVOUGA Página 3 de 14
  • 5. 4- Tecnologias de Internet XML  As três linhas seguintes contêm três elementos filhos de mensagem (de, para e assunto). Cada um destes elementos poderia ter outros sub-elementos e assim sucessivamente.  O documento termina com o fecho do elemento raiz.Declaração XML pode surgir opcionalmente no início do documento. Esta declaraçãodefine a versão da XML e a codificação de caracteres utilizada. No exemplo, a versão éa 1.0 e o código de caracteres é o ISO-8859-1 (Latin-1/W est European).A declaração XML faz parte da estrutura do documento, mas não é um elemento,sendo que para diferenciar, a sintaxe da declaração utiliza —<? ... ?>“ em vez de“<...>“. Uma outra diferença é que a declaração não tem uma etiqueta de fechocorrespondente. O código de caracteres utilizado define a maneira como os diferentescaracteres que compõem o documento XML são representados no ficheiro. Caso sejamutilizados caracteres fora do código definido, o interpretador gera um erro ao ler oficheiro. Alguns valores frequentes para esta definição são —UTF-8“, —UTF-16“(correspondentes a Transformações Unicode).- Os documentos XML têm que ter umelemento raiz, e esse elemento tem que ser único. Os restantes elementos têm queestar dentro do elemento raiz. Todos os elementos podem ter sub-elementos(elementos filhos): <raiz> <filho> <neto>...</neto> </filho> </raiz >Todos os elementos de um documento têm que conter o fecho das etiquetasrespectivas: <x>Incorrecto <x>Correcto</x>-Liliana Costa 3722 ISVOUGA Página 4 de 14
  • 6. 4- Tecnologias de Internet XMLOs elementos estão correctamente ordenados quando as etiquetas abrem e fechamemsequências inversas: <x><y>Incorrecto</x></y> <x><y>Correcto</y></x>No primeiro exemplo: abrir x, abrir y, fechar x, fechar y œ> Incorrecto.No segundo exemplo: abrir x, abrir y, fechar y, fechar x œ> Correcto.Os sub-elementos têm que estar correctamente ordenados dentro do seu elemento pai. As etiquetas XML diferenciam entre maiúsculas e minúsculas (são case-sensitive): <Mensagem>Errado</mensagem> <mensagem>Correcto </mensagem> <Mensagem>Correcto </Mensagem>O primeiro exemplo é incorrecto porque a etiqueta de abertura não corresponde àetiqueta de fecho (diferem na primeira letra), o que já não acontece nos dois outrosexemplos. Os valores dos atributos têm que estar envolvidos em aspas: <mensagem numero="13"> O XML preserva o espaço branco (espaços, mudanças de linha, tabulações, etc). Este espaço não é reduzido a um único carácter. A sintaxe para escrever comentários em documentos XML é a seguinte: <!-- Comentário -->Se um documento respeitar todas estas regras de construção, diz-se bem-formado(well-formed) e pode ser utilizado por qualquer interpretador XML. Além de bem-formado, um documento pode ser também válido. Um elemento diz-se válido se é bemformado e respeita uma gramática definida por DTD ou XML Schema.Liliana Costa 3722 ISVOUGA Página 5 de 14
  • 7. 4- Tecnologias de Internet XML 2.2.SECÇÕES CDATATodo o texto de um documento XML é interpretado durante a leitura do ficheiro, parapermitir a detecção de inícios e fins de etiquetas.Existem alguns caracteres que são ilegais em XML, pois a sua utilização geradocumentos com interpretações ambíguas. Estes caracteres têm que ser substituídospor entidades referenciais (começadas pelo carácter "&" e terminadas pelo carácter";").Os caracteres ilegais XML são “<” e “&” que devem ser substituídos por &lt; e&amp; respectivamente. Existem outros caracteres, que apesar de não serem ilegais,também devem ser substituídos para evitar dificuldades de leitura, sendo>, e " quedevem ser substituídos por &gt; &apos; e &quot; respectivamente.Exemplo: <condicao> se salario < 1000 entao </condicao>Tem que ser substituído por: <condicao> se salario &lt; 1000 entao </condicao>O CDATA permite definir secções de texto do documento XML que não sãointerpretadas, e que portanto não restringem a utilização de caracteres ilegais. Umasecção CDATA começa com "<![CDATA[" e termina com "]]>":Exemplo: <script> <![CDATA[ if (a < b && a < 0) then return 1; else return 0; ]]> </scriptLiliana Costa 3722 ISVOUGA Página 6 de 14
  • 8. 4- Tecnologias de Internet XMLAs secções CDATA não podem conter outras secções CDATA, ou seja, não podemconter as sequências de caracteres "<![CDATA[" ou "]]>"A sequência "]]>" também não pode ter espaços nem mudanças de linha no seuinterior. 2.3 ESQUEMA DTDO objectivo de uma Document Type Definition (DTD) é construir uma gramática quedefine a estrutura e elementos válidos de um tipo de documento XML. Os documentosque respeitam essa DTD dizem-se válidos. A DTD é efectuada numa linguagem própriacom sintaxe própria, diferente do XML. O documento XML pode conter uma DTDembebida ou usar uma referência externa.Exemplo de um documento XML que referencia DTD:<?xml version="1.0"?><!DOCTYPE note SYSTEM "mensagem.dtd"><?xml version="1.0" encoding="ISO-8859-1"?><mensagem> <de>Liliana Costa</de> <para>Nuno Peixoto </para> <assunto>Entrega de Trabalho Prático</assunto></mensagem>Exemplo de DTD (mensagem.dtd):<!ELEMENT mensagem (de,para,assunto)><!ELEMENT de (#PCDATA)><!ELEMENT para (#PCDATA)>Liliana Costa 3722 ISVOUGA Página 7 de 14
  • 9. 4- Tecnologias de Internet XML<!ELEMENT assunto (#PCDATA)>Quando o documento XML é lido por um interpretador, se a opção de validação estiveractiva, o DTD é utilizado para validar o documento. Caso o documento não respeite oDTD, gera-se um erro. 2.4 ESQUEMA XML SCHEMAA linguagem XML Schema, também conhecida por XML Schema Definition (XSD), éuma alternativa à DTD, mas as suas regras sintácticas são baseadas nas da XML. Poreste motivo, a XML Schema é uma aplicação da XML que descreve a estrutura de umdocumento.Os tipos de dados em XML Schema ou são “simple” ou “complex”.Tipo “simple”:  É um dos tipos básicos: string, date, float, double, timeDuration,…  Restringe o texto que pode aparecer no valor dum atributo ou no conteúdo dum elemento textual.Tipo “complex”:  Elemento que tenha atributos ou elementos filho;  Restringe o conteúdo dum elemento relativamente aos atributos e elementos filho que pode ter.Um XML Schema define:A utilização de DTD tem tendência a ser substituída por XML Schema, porque estaúltima apresenta várias vantagens:  É extensível;  É mais expressiva que a DTD;  É escrita em XML;  Suporta tipos de dados;  Suporta espaços de nomes.Liliana Costa 3722 ISVOUGA Página 8 de 14
  • 10. 4- Tecnologias de Internet XMLExemplo de um documento XML que referencia um Schema:<?xml version="1.0" encoding="ISO-8859-1"?><shiporder orderid="889923" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="shiporder.xsd"> <orderperson>John Smith</orderperson> <shipto> <name>Ola Nordmann</name> <address>Langgt 23</address> <city>4000 Stavanger</city> <country>Norway</country></shipto><item> <title>Empire Burlesque</title> <note>Special Edition</note> <quantity>1</quantity> <price>10.90</price></item><item> <title>Hide your heart</title> <quantity>1</quantity> <price>9.90</price></item>Exemplo de um XML Schema:Liliana Costa 3722 ISVOUGA Página 9 de 14
  • 11. 4- Tecnologias de Internet XML<?xml version="1.0" encoding="ISO-8859-1" ?><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="shiporder"> <xs:complexType> <xs:sequence> <xs:element name="orderperson" type="xs:string"/> <xs:element name="shipto"> <xs:complexType> <xs:sequence> <xs:element name="name" type="xs:string"/> <xs:element name="address" type="xs:string"/> <xs:element name="city" type="xs:string"/> <xs:element name="country" type="xs:string"/> </xs:sequence> </xs:complexType></xs:element><xs:element name="item" maxOccurs="unbounded"> <xs:complexType> <xs:sequence> <xs:element name="title" type="xs:string"/> <xs:element name="note" type="xs:string" minOccurs="0"/> <xs:element name="quantity" type="xs:positiveInteger"/> <xs:element name="price" type="xs:decimal"/> </xs:sequence> </xs:complexType>Liliana Costa 3722 ISVOUGA Página 10 de 14
  • 12. 4- Tecnologias de Internet XML</xs:element></xs:sequence><xs:attribute name="orderid" type="xs:string" use="required"/> </xs:complexType></xs:element></xs:schema> 3. MODELOS DE PROCESSAMENTOExistem dois modelos de processamento de documentos XML:• Simple API for XML (SAX);• Documento Object Model (DOM).A escolha do modelo de processamento num programa XML não depende só das suascaracterísticas, depende também da funcionalidade disponível na biblioteca deprogramação utilizada. 3.1 SAXO SAX processa documentos em série, lendo os dados XML e produzindo eventos devários tipos: início de documento, início de elemento, caracteres, fim de elemento, fimde documento, etc. Este modelo de processamento é mais rápido e utiliza menosmemória que o DOM, devendo ser utilizado, por exemplo, no servidor de aplicações emrede. No entanto, oSAX necessita de mais programação para definir o tratamento doseventos lançados pelo interpretador durante a leitura dos dados XML. Outra restrição éque não é possível voltar atrás no documento, devido ao processamento em série. 3.2 3.2 DOMO DOM lê o documento e constrói uma estrutura em árvore, em que cada nó é umcomponente do documento XML. Os nós, podem ser elementos, atributos, texto e atéLiliana Costa 3722 ISVOUGA Página 11 de 14
  • 13. 4- Tecnologias de Internet XMLcomentários. Os dois tipos mais comuns são elementos e texto. Utilizando o DOM épossível criar nós, remover nós, alterar o seu conteúdo e percorrer o nóhierarquicamente (pai, filhos e irmãos). O principal problema deste modelo deprocessamento é que necessita de bastante memória, o que pode ser impeditivo demanipular documentos de grande dimensão. Por este motivo, o DOM é sobretudoutilizado em aplicações cliente orientadas a utilizador, que tipicamente correm emmáquinas com poucos problemas de memória.Liliana Costa 3722 ISVOUGA Página 12 de 14
  • 14. 4- Tecnologias de Internet XML4. CONCLUSÃOO XML permite múltiplas formas de visualização, permitindo assim, que um únicodocumento possa ser apresentado de diversas formas, de acordo com o gosto doutilizador ou de acordo com as configurações da aplicação em uso. Essa múltiplavisualização é processada localmente, no cliente, permitindo-nos ainda a integração dedados estruturados de diversas fontes, tais como bancos de dados. Essa integraçãopode ser feita num servidor intermediário, e os dados estarão disponíveis para clientesou outros servidores. Por ser extensível, o XML pode descrever dados de uma enormevariedade de aplicações (registo de dados, notícias, transacções comerciais, etc...) epor possuir tags auto-descritivas não precisa de uma descrição de contexto acopladaao documento como o HTML. Permite actualizações granulares, evitando que umasimples modificação num documento resulte na necessidade da actualização completado mesmo. Em síntese conclui-se que a linguagem XML é destinada a descrever oconteúdo deum documento, e a linguagem HTML tem como objectivo definir aformatação domesmo, ou seja, o XML define o assunto, e o HTML define como eleserá exibido aoutilizador. Sérgio Rocha - 2104 ISVOUGA Página 15 de 16Liliana Costa 3722 ISVOUGA Página 13 de 14
  • 15. 4- Tecnologias de Internet XML5.BIBLIOGRAFIA  http://www.inf.ufsc.br/~gauthier/EGC6006/material/Aula%202/Introducao%20 e%20Sintaxe%20do%20XML.pdf  http://www.tutoriaisweb.com/abrir.php?acao=visitar&id=786  http://www.gta.ufrj.br/grad/00_1/miguel/link3.htm  http://pt.wikipedia.org/wiki/XHTMLLiliana Costa 3722 ISVOUGA Página 14 de 14