SlideShare ist ein Scribd-Unternehmen logo
1 von 16
Instituto Superior de Entre Douro e Vouga

Tecnologias da Informação e da Comunicação│2010/2011

               Tecnologias de Internet




                            Trabalho realizado por:
                         Sérgio Paulo Lopes da Rocha


                   Santa Maria da Feira, 26 Novembro de 2010
TP 4 - Trabalho Prático                                                                                                   XML




                                                            Í NDICE

1. HTML versus XML................................................................................................. 3
2. Regras de construção ........................................................................................... 5
   2.1      Regras de Sintaxe......................................................................................... 5
   2.2      Secções CDATA ........................................................................................... 7
   2.3      Esquema DTD............................................................................................... 9
   2.4      Esquema XML Schema .............................................................................. 10
3. Modelos de Processamento ................................................................................ 14
   3.1      SAX............................................................................................................. 14
   3.2      DOM............................................................................................................ 14
4. Conclusão............................................................................................................ 15
5. Bibliografia........................................................................................................... 16




 Sérgio Rocha - 2104                                          ISVOUGA                                           Página 2 de 16
TP 4 - Trabalho Prático                                                             XML




1. HTML VERSUS XML

Em traços muito gerais o HTML (HyperText Markup Language) é identificado por um
conjunto de códigos que permitem representar graficamente um determinado
documento, através de uma formatação baseada num esquema de etiquetas (tags)
que, posteriormente, são interpretadas pelos browsers.
Tal como o HTML, o XML (eXtensible Markup Language) também utiliza etiquetas
como <title> ou <body> e atributos como "lang=en". Mas, enquanto que, com o HTML é
a própria linguagem que especifica o que cada etiqueta e atributo especificam, o XML
usa as etiquetas apenas para delimitar blocos de dados e deixa a interpretação dos
mesmos para a aplicação. Assim, em função do contexto programático, um <p> que
em HTML significa sempre um novo parágrafo, pode em XML significar um preço, uma
pessoa, ou o que nós desejarmos.
O HTML especifica a formatação gráfica de um documento, enquanto que o XML
especifica a estrutura de dados.
Com o XML, não estamos limitados a etiquetas predefinidas, podemos criar a nossa
estrutura e definir uma interpretação para essa estrutura, sempre disponível no nosso
sistema informático.
O XML é uma tecnologia de conteúdos alternativa, e também complementar ao HTML,
que vai provavelmente rivalizar mais com os formatos proprietários de armazenamento
de documentos, do que propriamente com o HTML. Por ser altamente adaptável aos
dados que pretende descrever, por facilitar a interacção entre aplicações e
documentos, e por produzir documentos auto-descritivos, a tecnologia XML tem
condições para se tornar num standard para a publicação, armazenamento e
transferência de documentos por via electrónica.
Relativamente ao HTML, o XML trás grandes vantagens na sua utilização. Para além
da possibilidade de definição de novas marcas e etiquetas à medida dos utilizadores e
de um maior controlo sobre a aplicação de formatações e da forma como estas
aparecem nos browsers, o utilizador do XML fica com a certeza de publicar os seus
documentos num formato standard (independente dos fabricantes de software),
facilmente interpretável por múltiplas aplicações e, em certa medida, auto-explicativo.




 Sérgio Rocha - 2104                       ISVOUGA                          Página 3 de 16
TP 4 - Trabalho Prático                                                      XML



O esquema seguinte apresenta de forma simples a estrutura do XML:




O XML tem os seguintes usos:
   • Separar dados do HTML;
   • Simplificar o compartilhamento de dados;
   • Simplificar a transferência de dados;
   • Simplificar a mudança de plataforma;
   • Ser a base para criação de novas linguagens para a Web.




Sérgio Rocha - 2104                          ISVOUGA                Página 4 de 16
TP 4 - Trabalho Prático                                                              XML




2. REGRAS DE CONSTRUÇÃO

As regras de construção englobam os seguintes itens: sintaxe, secções CDATA,
esquema DTD e XML schema.


  2.1 REGRAS DE SINTAXE

As regras de sintaxe da XML são bastante simples, mas devem ser seguidas
rigorosamente pelos interpretadores. Deste modo, estes programas podem ser menos
complexos, evitando situações de interpretação ambígua.
Sendo uma linguagem baseada em etiquetas, os documentos em XML têm que
respeitar rigorosamente as regras de construção de elementos e atributos.


Exemplo:
  <?xml version="1.0" encoding="ISO-8859-1"?>
  <mensagem>
     <de>Sérgio Rocha</de>
     <para>Nuno Peixoto</para>
     <assunto>Entrega de Trabalho Prático</assunto>
  </mensagem>


Utilizando o exemplo acima descrito, podemos analisar as principais regras de
construçã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.
     • 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.




Sérgio Rocha - 2104                      ISVOUGA                            Página 5 de 16
TP 4 - Trabalho Prático                                                              XML



A declaração XML pode surgir opcionalmente no início do documento. Esta declaração
define 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 fecho
correspondente.
O código de caracteres utilizado define a maneira como os diferentes caracteres que
compõem o documento XML são representados no ficheiro. Caso sejam utilizados
caracteres fora do código definido, o interpretador gera um erro ao ler o ficheiro. 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 um elemento raiz, e esse elemento tem que ser
único. Os restantes elementos têm que estar 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 etiquetas
respectivas:
   <x>Incorrecto
   <x>Correcto</x>


- Os elementos estão correctamente ordenados quando as etiquetas abrem e fecham
em sequências inversas:
   <x><y>Incorrecto</x></y>
   <x><y>Correcto</y></x>


 Sérgio Rocha - 2104                       ISVOUGA                           Página 6 de 16
TP 4 - Trabalho Prático                                                            XML



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 outros
exemplos.


- 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 caracter.


- 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 é bem
formado e respeita uma gramática definida por DTD ou XML Schema.


   2.2 SECÇÕES CDATA

Todo o texto de um documento XML é interpretado durante a leitura do ficheiro, para
permitir a detecção de inícios e fins de etiquetas.




 Sérgio Rocha - 2104                        ISVOUGA                        Página 7 de 16
TP 4 - Trabalho Prático                                                            XML



Existem alguns caracteres que são ilegais em XML, pois a sua utilização gera
documentos com interpretações ambíguas. Estes caracteres têm que ser substituídos
por entidades referenciais (começadas pelo caracter "&" 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 " que devem 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ão
interpretadas, e que portanto não restringem a utilização de caracteres ilegais. Uma
secção CDATA começa com "<![CDATA[" e termina com "]]>":


Exemplo:
   <script>
      <![CDATA[
            if (a < b && a < 0) then
              return 1;
            else
              return 0;
      ]]>
   </script>


As secções CDATA não podem conter outras secções CDATA, ou seja, não podem
conter as sequências de caracteres "<![CDATA[" ou "]]>".



 Sérgio Rocha - 2104                      ISVOUGA                          Página 8 de 16
TP 4 - Trabalho Prático                                                        XML



A sequência "]]>" também não pode ter espaços nem mudanças de linha no seu
interior.


   2.3 ESQUEMA DTD

O objectivo de uma Document Type Definition (DTD) é construir uma gramática que
define a estrutura e elementos válidos de um tipo de documento XML. Os documentos
que respeitam essa DTD dizem-se válidos.
A DTD é efectuada numa linguagem própria com sintaxe própria, diferente do XML. O
documento XML pode conter uma DTD embebida 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>Sérgio Rocha</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)>
   <!ELEMENT assunto (#PCDATA)>


Quando o documento XML é lido por um interpretador, se a opção de validação estiver
activa, o DTD é utilizado para validar o documento. Caso o documento não respeite o
DTD, gera-se um erro.




 Sérgio Rocha - 2104                    ISVOUGA                        Página 9 de 16
TP 4 - Trabalho Prático                                                                   XML



   2.4 ESQUEMA XML SCHEMA

A 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. Por
este motivo, a XML Schema é uma aplicação da XML que descreve a estrutura de um
documento.


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:
      • Elementos que podem aparecer num documento;
      • Atributos que podem aparecer num documento;
      • Elementos que são elementos filhos;
      • A ordem dos elementos filhos;
      • O número de elementos filhos;
      • Se um elemento é vazio ou pode incluir texto;
      • Tipos de dados para elementos e atributos;
      • Valores por omissão ou fixos para elementos e atributos.


A utilização de DTD tem tendência a ser substituída por XML Schema, porque esta
última apresenta várias vantagens:



 Sérgio Rocha - 2104                        ISVOUGA                              Página 10 de 16
TP 4 - Trabalho Prático                                                      XML




     • É extensível;
     • É mais expressiva que a DTD;
     • É escrita em XML;
     • Suporta tipos de dados;
     • Suporta espaços de nomes.


Exemplo 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>



Sérgio Rocha - 2104                       ISVOUGA                  Página 11 de 16
TP 4 - Trabalho Prático                                                               XML



  </shiporder>


Exemplo de um XML Schema:
  <?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>
           </xs:element>



Sérgio Rocha - 2104                          ISVOUGA                        Página 12 de 16
TP 4 - Trabalho Prático                                           XML



        </xs:sequence>
        <xs:attribute name="orderid" type="xs:string"
     use="required"/>
        </xs:complexType>
     </xs:element></xs:schema>




Sérgio Rocha - 2104                       ISVOUGA       Página 13 de 16
TP 4 - Trabalho Prático                                                           XML




3. MODELOS DE PROCESSAMENTO

Existem 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 suas
características, depende também da funcionalidade disponível na biblioteca de
programação utilizada.


   3.1 SAX

O SAX processa documentos em série, lendo os dados XML e produzindo eventos de
vários tipos: início de documento, início de elemento, caracteres, fim de elemento, fim
de documento, etc.
Este modelo de processamento é mais rápido e utiliza menos memória que o DOM,
devendo ser utilizado, por exemplo, no servidor de aplicações em rede. No entanto, o
SAX necessita de mais programação para definir o tratamento dos eventos 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 DOM

O DOM lê o documento e constrói uma estrutura em árvore, em que cada nó é um
componente do documento XML. Os nós podem ser elementos, atributos, texto e até
comentá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 de
processamento é que necessita de bastante memória, o que pode ser impeditivo de
manipular documentos de grande dimensão. Por este motivo, o DOM é sobretudo
utilizado em aplicações cliente orientadas a utilizador, que tipicamente correm em
máquinas com poucos problemas de memória.




 Sérgio Rocha - 2104                     ISVOUGA                         Página 14 de 16
TP 4 - Trabalho Prático                                                          XML




4. CONCLUSÃO

O XML permite múltiplas formas de visualização, permitindo assim, que um único
documento possa ser apresentado de diversas formas, de acordo com o gosto do
utilizador ou de acordo com as configurações da aplicação em uso.
Essa múltipla visualização é processada localmente, no cliente, permitindo-nos ainda a
integração de dados estruturados de diversas fontes, tais como bancos de dados. Essa
integração pode ser feita num servidor intermediário, e os dados estarão disponíveis
para clientes ou outros servidores.
Por ser extensível, o XML pode descrever dados de uma enorme variedade de
aplicações (registo de dados, notícias, transacções comerciais, etc...) e por possuir
tags auto-descritivas não precisa de uma descrição de contexto acoplada ao
documento como o HTML.
Permite actualizações granulares, evitando que uma simples modificação num
documento resulte na necessidade da actualização completa do mesmo.
Em síntese conclui-se que a linguagem XML é destinada a descrever o conteúdo de
um documento, e a linguagem HTML tem como objectivo definir a formatação do
mesmo, ou seja, o XML define o assunto, e o HTML define como ele será exibido ao
utilizador.




 Sérgio Rocha - 2104                     ISVOUGA                        Página 15 de 16
TP 4 - Trabalho Prático                                                                      XML




5. BIBLIOGRAFIA

      • http://pt.wikipedia.org/wiki/XML
      • http://www.centroatl.pt/titulos/tecnologias/imagens/oguiapraticoda-xml-excerto.pdf
      • http://www.w3schools.com/xml/default.asp
      • http://www.xml.com/




Sérgio Rocha - 2104                          ISVOUGA                            Página 16 de 16

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

15
1515
15
 
Introdução à XML - Serviço de Biblioteca da EEFE-USP
Introdução à XML - Serviço de Biblioteca da EEFE-USPIntrodução à XML - Serviço de Biblioteca da EEFE-USP
Introdução à XML - Serviço de Biblioteca da EEFE-USP
 
Introdução ao XML
Introdução ao XMLIntrodução ao XML
Introdução ao XML
 
eXtensible Markup Language (XML)
eXtensible Markup Language (XML)eXtensible Markup Language (XML)
eXtensible Markup Language (XML)
 
XML e Banco de Dados XML Nativo
XML e Banco de Dados XML NativoXML e Banco de Dados XML Nativo
XML e Banco de Dados XML Nativo
 
Apostila XML, DTD, XSD e XSLT
Apostila XML, DTD, XSD e XSLTApostila XML, DTD, XSD e XSLT
Apostila XML, DTD, XSD e XSLT
 
XML - Introdução
XML - IntroduçãoXML - Introdução
XML - Introdução
 
Xml
XmlXml
Xml
 
XML: Uma Introdução Prática (2001)
XML: Uma Introdução Prática (2001)XML: Uma Introdução Prática (2001)
XML: Uma Introdução Prática (2001)
 
02 - Apresentação de dados em XML com XSL e HTML
02 - Apresentação de dados em XML com XSL e HTML02 - Apresentação de dados em XML com XSL e HTML
02 - Apresentação de dados em XML com XSL e HTML
 
Aplicando Transformação em XML usando XSLT e XSL-FO - 1
Aplicando Transformação em XML usando XSLT e XSL-FO - 1Aplicando Transformação em XML usando XSLT e XSL-FO - 1
Aplicando Transformação em XML usando XSLT e XSL-FO - 1
 
Oficina WEB Design Lecom - PHP e MySQL
Oficina WEB Design Lecom - PHP e MySQLOficina WEB Design Lecom - PHP e MySQL
Oficina WEB Design Lecom - PHP e MySQL
 
Banco de Dados XML
Banco de Dados XMLBanco de Dados XML
Banco de Dados XML
 
Aplicando Transformação em XML usando XSLT e XSL-FO - 3
Aplicando Transformação em XML usando XSLT e XSL-FO - 3Aplicando Transformação em XML usando XSLT e XSL-FO - 3
Aplicando Transformação em XML usando XSLT e XSL-FO - 3
 
Xml100 1
Xml100 1Xml100 1
Xml100 1
 
Java e XML
Java e XMLJava e XML
Java e XML
 
Apostila De Html
Apostila De HtmlApostila De Html
Apostila De Html
 
Monografia CEI-ES0326-T14-2008-1 - Wellington Gomes de Vasconcelos
Monografia CEI-ES0326-T14-2008-1 - Wellington Gomes de VasconcelosMonografia CEI-ES0326-T14-2008-1 - Wellington Gomes de Vasconcelos
Monografia CEI-ES0326-T14-2008-1 - Wellington Gomes de Vasconcelos
 
Sql
SqlSql
Sql
 
Html
HtmlHtml
Html
 

Andere mochten auch

UCLA X425 Week 5
UCLA X425 Week 5UCLA X425 Week 5
UCLA X425 Week 5UCLA X425
 
Real Estate in Gurgaon - Nimai Developers
Real Estate in Gurgaon - Nimai DevelopersReal Estate in Gurgaon - Nimai Developers
Real Estate in Gurgaon - Nimai DevelopersNimai Developers
 
マハムニXmasツアー2010 報告会
マハムニXmasツアー2010 報告会マハムニXmasツアー2010 報告会
マハムニXmasツアー2010 報告会Shigehiko Akamatsu
 
Alessandro volta
Alessandro volta Alessandro volta
Alessandro volta ritalopi
 
Madrid city and Móstoles city
Madrid city and Móstoles cityMadrid city and Móstoles city
Madrid city and Móstoles cityI
 
Superfoods and Greek Mythology- Third Junior High School of Corinth, Greece
Superfoods and Greek Mythology- Third Junior High School of Corinth, GreeceSuperfoods and Greek Mythology- Third Junior High School of Corinth, Greece
Superfoods and Greek Mythology- Third Junior High School of Corinth, Greecechristinakas
 
Basciano platelets fellows 2013
Basciano   platelets fellows 2013Basciano   platelets fellows 2013
Basciano platelets fellows 2013derosaMSKCC
 
Liquid Crystals And Their Applications
Liquid Crystals And Their ApplicationsLiquid Crystals And Their Applications
Liquid Crystals And Their ApplicationsMinhas Azeem
 
προκηρυξη διημερης δημητσανα_2017
προκηρυξη διημερης δημητσανα_2017προκηρυξη διημερης δημητσανα_2017
προκηρυξη διημερης δημητσανα_20174Gym Glyfadas
 
Save wildlife and forest
Save wildlife and forestSave wildlife and forest
Save wildlife and forestAFRA
 
Wildlife protection act
Wildlife protection actWildlife protection act
Wildlife protection actkvchenneerkara
 

Andere mochten auch (18)

UCLA X425 Week 5
UCLA X425 Week 5UCLA X425 Week 5
UCLA X425 Week 5
 
Real Estate in Gurgaon - Nimai Developers
Real Estate in Gurgaon - Nimai DevelopersReal Estate in Gurgaon - Nimai Developers
Real Estate in Gurgaon - Nimai Developers
 
Herbolario
HerbolarioHerbolario
Herbolario
 
マハムニXmasツアー2010 報告会
マハムニXmasツアー2010 報告会マハムニXmasツアー2010 報告会
マハムニXmasツアー2010 報告会
 
Alessandro volta
Alessandro volta Alessandro volta
Alessandro volta
 
Madrid city and Móstoles city
Madrid city and Móstoles cityMadrid city and Móstoles city
Madrid city and Móstoles city
 
Rabies final
Rabies finalRabies final
Rabies final
 
Tapal tea
Tapal teaTapal tea
Tapal tea
 
abnormal labour
abnormal labourabnormal labour
abnormal labour
 
Superfoods and Greek Mythology- Third Junior High School of Corinth, Greece
Superfoods and Greek Mythology- Third Junior High School of Corinth, GreeceSuperfoods and Greek Mythology- Third Junior High School of Corinth, Greece
Superfoods and Greek Mythology- Third Junior High School of Corinth, Greece
 
Basciano platelets fellows 2013
Basciano   platelets fellows 2013Basciano   platelets fellows 2013
Basciano platelets fellows 2013
 
Liquid Crystals And Their Applications
Liquid Crystals And Their ApplicationsLiquid Crystals And Their Applications
Liquid Crystals And Their Applications
 
προκηρυξη διημερης δημητσανα_2017
προκηρυξη διημερης δημητσανα_2017προκηρυξη διημερης δημητσανα_2017
προκηρυξη διημερης δημητσανα_2017
 
Save wildlife and forest
Save wildlife and forestSave wildlife and forest
Save wildlife and forest
 
Poliomielitis
PoliomielitisPoliomielitis
Poliomielitis
 
Hepatitis b
Hepatitis bHepatitis b
Hepatitis b
 
Wildlife protection act
Wildlife protection actWildlife protection act
Wildlife protection act
 
Ebola virus
Ebola virusEbola virus
Ebola virus
 

Ähnlich wie XML para estruturar dados

Ähnlich wie XML para estruturar dados (20)

A e xtensible markup language (xml)
A e xtensible markup language (xml)A e xtensible markup language (xml)
A e xtensible markup language (xml)
 
Curso XML - IBM Academic Initiative
Curso XML - IBM Academic InitiativeCurso XML - IBM Academic Initiative
Curso XML - IBM Academic Initiative
 
XML - Parte 1
XML - Parte 1XML - Parte 1
XML - Parte 1
 
Curso de xml
Curso de xmlCurso de xml
Curso de xml
 
Parte5 xml
Parte5 xmlParte5 xml
Parte5 xml
 
HTML HardCore Parte 2 - XHTML
HTML HardCore Parte 2 - XHTMLHTML HardCore Parte 2 - XHTML
HTML HardCore Parte 2 - XHTML
 
XHTML
XHTMLXHTML
XHTML
 
Arquitetura: XML + RDF ate WebSemantica
Arquitetura: XML + RDF ate WebSemanticaArquitetura: XML + RDF ate WebSemantica
Arquitetura: XML + RDF ate WebSemantica
 
Xhtml
XhtmlXhtml
Xhtml
 
Ass web services_xml
Ass web services_xmlAss web services_xml
Ass web services_xml
 
XSL, XSL-FO e XSLT + XPath
XSL, XSL-FO e XSLT + XPathXSL, XSL-FO e XSLT + XPath
XSL, XSL-FO e XSLT + XPath
 
Html E Websemantica Trabalho
Html E Websemantica TrabalhoHtml E Websemantica Trabalho
Html E Websemantica Trabalho
 
Mercia regina portfólio-interdisciplinar-individual - analise-de-sistemas-1º-...
Mercia regina portfólio-interdisciplinar-individual - analise-de-sistemas-1º-...Mercia regina portfólio-interdisciplinar-individual - analise-de-sistemas-1º-...
Mercia regina portfólio-interdisciplinar-individual - analise-de-sistemas-1º-...
 
XML_WS.pdf
XML_WS.pdfXML_WS.pdf
XML_WS.pdf
 
XML: uma introdução (UNESP, GPNTI, BEAM)
XML: uma introdução (UNESP, GPNTI, BEAM)XML: uma introdução (UNESP, GPNTI, BEAM)
XML: uma introdução (UNESP, GPNTI, BEAM)
 
Aula html
Aula htmlAula html
Aula html
 
Posxml especification 2.0
Posxml especification 2.0Posxml especification 2.0
Posxml especification 2.0
 
XML, Webservice e RSS
XML, Webservice e RSSXML, Webservice e RSS
XML, Webservice e RSS
 
HTML HardCore Parte 1 - Conceitos
HTML HardCore Parte 1 - ConceitosHTML HardCore Parte 1 - Conceitos
HTML HardCore Parte 1 - Conceitos
 
Webservices e Xml
Webservices e XmlWebservices e Xml
Webservices e Xml
 

Mehr von Sérgio Rocha

Criminalidade informatica (sabotagem)
Criminalidade informatica (sabotagem)Criminalidade informatica (sabotagem)
Criminalidade informatica (sabotagem)Sérgio Rocha
 
Trabalho prático de pneumática
Trabalho prático de pneumáticaTrabalho prático de pneumática
Trabalho prático de pneumáticaSérgio Rocha
 
Trabalho de convecção natural
Trabalho de convecção naturalTrabalho de convecção natural
Trabalho de convecção naturalSérgio Rocha
 
Trabalho de climatização (cálculo de caudais)
Trabalho de climatização (cálculo de caudais)Trabalho de climatização (cálculo de caudais)
Trabalho de climatização (cálculo de caudais)Sérgio Rocha
 
Reflexão sobre pr np4428
Reflexão sobre pr np4428Reflexão sobre pr np4428
Reflexão sobre pr np4428Sérgio Rocha
 
ética e deontologia profissional
ética e deontologia profissionalética e deontologia profissional
ética e deontologia profissionalSérgio Rocha
 
Energia fotovoltaica
Energia fotovoltaicaEnergia fotovoltaica
Energia fotovoltaicaSérgio Rocha
 
Dimensionamento de pilar(es) de suporte de um passadiço
Dimensionamento de pilar(es) de suporte de um passadiçoDimensionamento de pilar(es) de suporte de um passadiço
Dimensionamento de pilar(es) de suporte de um passadiçoSérgio Rocha
 
Projecto de uma estrutura metálica (apresentação)
Projecto de uma estrutura metálica  (apresentação)Projecto de uma estrutura metálica  (apresentação)
Projecto de uma estrutura metálica (apresentação)Sérgio Rocha
 
Leis fundamentais da dinâmica dos fluidos
Leis fundamentais da dinâmica dos fluidosLeis fundamentais da dinâmica dos fluidos
Leis fundamentais da dinâmica dos fluidosSérgio Rocha
 
ética e deontologia profissional (apresentação)
ética e deontologia profissional  (apresentação)ética e deontologia profissional  (apresentação)
ética e deontologia profissional (apresentação)Sérgio Rocha
 
Controlo da qualidade, segurança e higiene em soldadura
Controlo da qualidade, segurança e higiene em soldaduraControlo da qualidade, segurança e higiene em soldadura
Controlo da qualidade, segurança e higiene em soldaduraSérgio Rocha
 

Mehr von Sérgio Rocha (20)

World Wide Web
World Wide WebWorld Wide Web
World Wide Web
 
Web services
Web servicesWeb services
Web services
 
Versões do windows
Versões do windowsVersões do windows
Versões do windows
 
HTML
HTMLHTML
HTML
 
http
httphttp
http
 
Criminalidade informatica (sabotagem)
Criminalidade informatica (sabotagem)Criminalidade informatica (sabotagem)
Criminalidade informatica (sabotagem)
 
Trabalho prático de pneumática
Trabalho prático de pneumáticaTrabalho prático de pneumática
Trabalho prático de pneumática
 
Trabalho de convecção natural
Trabalho de convecção naturalTrabalho de convecção natural
Trabalho de convecção natural
 
Trabalho de climatização (cálculo de caudais)
Trabalho de climatização (cálculo de caudais)Trabalho de climatização (cálculo de caudais)
Trabalho de climatização (cálculo de caudais)
 
Reflexão sobre pr np4428
Reflexão sobre pr np4428Reflexão sobre pr np4428
Reflexão sobre pr np4428
 
ética e deontologia profissional
ética e deontologia profissionalética e deontologia profissional
ética e deontologia profissional
 
Energia fotovoltaica
Energia fotovoltaicaEnergia fotovoltaica
Energia fotovoltaica
 
Dimensionamento de pilar(es) de suporte de um passadiço
Dimensionamento de pilar(es) de suporte de um passadiçoDimensionamento de pilar(es) de suporte de um passadiço
Dimensionamento de pilar(es) de suporte de um passadiço
 
Cork in aerospace
Cork in aerospaceCork in aerospace
Cork in aerospace
 
A cortiça
A cortiçaA cortiça
A cortiça
 
Water on fire
Water on fireWater on fire
Water on fire
 
Projecto de uma estrutura metálica (apresentação)
Projecto de uma estrutura metálica  (apresentação)Projecto de uma estrutura metálica  (apresentação)
Projecto de uma estrutura metálica (apresentação)
 
Leis fundamentais da dinâmica dos fluidos
Leis fundamentais da dinâmica dos fluidosLeis fundamentais da dinâmica dos fluidos
Leis fundamentais da dinâmica dos fluidos
 
ética e deontologia profissional (apresentação)
ética e deontologia profissional  (apresentação)ética e deontologia profissional  (apresentação)
ética e deontologia profissional (apresentação)
 
Controlo da qualidade, segurança e higiene em soldadura
Controlo da qualidade, segurança e higiene em soldaduraControlo da qualidade, segurança e higiene em soldadura
Controlo da qualidade, segurança e higiene em soldadura
 

Kürzlich hochgeladen

“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptxthaisamaral9365923
 
Cultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfCultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfaulasgege
 
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
activIDADES CUENTO  lobo esta  CUENTO CUARTO GRADOactivIDADES CUENTO  lobo esta  CUENTO CUARTO GRADO
activIDADES CUENTO lobo esta CUENTO CUARTO GRADOcarolinacespedes23
 
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEMCOMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEMVanessaCavalcante37
 
Governo Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 BrasilGoverno Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 Brasillucasp132400
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Centro Jacques Delors
 
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxIsabellaGomes58
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniCassio Meira Jr.
 
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologiaAula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologiaaulasgege
 
Prova uniasselvi tecnologias da Informação.pdf
Prova uniasselvi tecnologias da Informação.pdfProva uniasselvi tecnologias da Informação.pdf
Prova uniasselvi tecnologias da Informação.pdfArthurRomanof1
 
Lírica Camoniana- A mudança na lírica de Camões.pptx
Lírica Camoniana- A mudança na lírica de Camões.pptxLírica Camoniana- A mudança na lírica de Camões.pptx
Lírica Camoniana- A mudança na lírica de Camões.pptxfabiolalopesmartins1
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxleandropereira983288
 
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveAula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveaulasgege
 
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxOsnilReis1
 
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasCenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasRosalina Simão Nunes
 
Regência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdfRegência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdfmirandadudu08
 
Simulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfSimulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfEditoraEnovus
 
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfBRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfHenrique Pontes
 
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxApostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxIsabelaRafael2
 

Kürzlich hochgeladen (20)

“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx
 
Cultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfCultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdf
 
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
activIDADES CUENTO  lobo esta  CUENTO CUARTO GRADOactivIDADES CUENTO  lobo esta  CUENTO CUARTO GRADO
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
 
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEMCOMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
 
Governo Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 BrasilGoverno Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 Brasil
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029
 
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
 
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
 
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologiaAula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
 
Prova uniasselvi tecnologias da Informação.pdf
Prova uniasselvi tecnologias da Informação.pdfProva uniasselvi tecnologias da Informação.pdf
Prova uniasselvi tecnologias da Informação.pdf
 
Lírica Camoniana- A mudança na lírica de Camões.pptx
Lírica Camoniana- A mudança na lírica de Camões.pptxLírica Camoniana- A mudança na lírica de Camões.pptx
Lírica Camoniana- A mudança na lírica de Camões.pptx
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptx
 
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveAula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
 
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
 
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasCenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
 
Regência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdfRegência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdf
 
Simulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfSimulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdf
 
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfBRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
 
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxApostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
 

XML para estruturar dados

  • 1. Instituto Superior de Entre Douro e Vouga Tecnologias da Informação e da Comunicação│2010/2011 Tecnologias de Internet Trabalho realizado por: Sérgio Paulo Lopes da Rocha Santa Maria da Feira, 26 Novembro de 2010
  • 2. TP 4 - Trabalho Prático XML Í NDICE 1. HTML versus XML................................................................................................. 3 2. Regras de construção ........................................................................................... 5 2.1 Regras de Sintaxe......................................................................................... 5 2.2 Secções CDATA ........................................................................................... 7 2.3 Esquema DTD............................................................................................... 9 2.4 Esquema XML Schema .............................................................................. 10 3. Modelos de Processamento ................................................................................ 14 3.1 SAX............................................................................................................. 14 3.2 DOM............................................................................................................ 14 4. Conclusão............................................................................................................ 15 5. Bibliografia........................................................................................................... 16 Sérgio Rocha - 2104 ISVOUGA Página 2 de 16
  • 3. TP 4 - Trabalho Prático XML 1. HTML VERSUS XML Em traços muito gerais o HTML (HyperText Markup Language) é identificado por um conjunto de códigos que permitem representar graficamente um determinado documento, através de uma formatação baseada num esquema de etiquetas (tags) que, posteriormente, são interpretadas pelos browsers. Tal como o HTML, o XML (eXtensible Markup Language) também utiliza etiquetas como <title> ou <body> e atributos como "lang=en". Mas, enquanto que, com o HTML é a própria linguagem que especifica o que cada etiqueta e atributo especificam, o XML usa as etiquetas apenas para delimitar blocos de dados e deixa a interpretação dos mesmos para a aplicação. Assim, em função do contexto programático, um <p> que em HTML significa sempre um novo parágrafo, pode em XML significar um preço, uma pessoa, ou o que nós desejarmos. O HTML especifica a formatação gráfica de um documento, enquanto que o XML especifica a estrutura de dados. Com o XML, não estamos limitados a etiquetas predefinidas, podemos criar a nossa estrutura e definir uma interpretação para essa estrutura, sempre disponível no nosso sistema informático. O XML é uma tecnologia de conteúdos alternativa, e também complementar ao HTML, que vai provavelmente rivalizar mais com os formatos proprietários de armazenamento de documentos, do que propriamente com o HTML. Por ser altamente adaptável aos dados que pretende descrever, por facilitar a interacção entre aplicações e documentos, e por produzir documentos auto-descritivos, a tecnologia XML tem condições para se tornar num standard para a publicação, armazenamento e transferência de documentos por via electrónica. Relativamente ao HTML, o XML trás grandes vantagens na sua utilização. Para além da possibilidade de definição de novas marcas e etiquetas à medida dos utilizadores e de um maior controlo sobre a aplicação de formatações e da forma como estas aparecem nos browsers, o utilizador do XML fica com a certeza de publicar os seus documentos num formato standard (independente dos fabricantes de software), facilmente interpretável por múltiplas aplicações e, em certa medida, auto-explicativo. Sérgio Rocha - 2104 ISVOUGA Página 3 de 16
  • 4. TP 4 - Trabalho Prático XML O esquema seguinte apresenta de forma simples a estrutura do XML: O XML tem os seguintes usos: • Separar dados do HTML; • Simplificar o compartilhamento de dados; • Simplificar a transferência de dados; • Simplificar a mudança de plataforma; • Ser a base para criação de novas linguagens para a Web. Sérgio Rocha - 2104 ISVOUGA Página 4 de 16
  • 5. TP 4 - Trabalho Prático XML 2. REGRAS DE CONSTRUÇÃO As regras de construção englobam os seguintes itens: sintaxe, secções CDATA, esquema DTD e XML schema. 2.1 REGRAS DE SINTAXE As regras de sintaxe da XML são bastante simples, mas devem ser seguidas rigorosamente pelos interpretadores. Deste modo, estes programas podem ser menos complexos, evitando situações de interpretação ambígua. Sendo uma linguagem baseada em etiquetas, os documentos em XML têm que respeitar rigorosamente as regras de construção de elementos e atributos. Exemplo: <?xml version="1.0" encoding="ISO-8859-1"?> <mensagem> <de>Sérgio Rocha</de> <para>Nuno Peixoto</para> <assunto>Entrega de Trabalho Prático</assunto> </mensagem> Utilizando o exemplo acima descrito, podemos analisar as principais regras de construçã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. • 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. Sérgio Rocha - 2104 ISVOUGA Página 5 de 16
  • 6. TP 4 - Trabalho Prático XML A declaração XML pode surgir opcionalmente no início do documento. Esta declaração define 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 fecho correspondente. O código de caracteres utilizado define a maneira como os diferentes caracteres que compõem o documento XML são representados no ficheiro. Caso sejam utilizados caracteres fora do código definido, o interpretador gera um erro ao ler o ficheiro. 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 um elemento raiz, e esse elemento tem que ser único. Os restantes elementos têm que estar 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 etiquetas respectivas: <x>Incorrecto <x>Correcto</x> - Os elementos estão correctamente ordenados quando as etiquetas abrem e fecham em sequências inversas: <x><y>Incorrecto</x></y> <x><y>Correcto</y></x> Sérgio Rocha - 2104 ISVOUGA Página 6 de 16
  • 7. TP 4 - Trabalho Prático XML 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 outros exemplos. - 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 caracter. - 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 é bem formado e respeita uma gramática definida por DTD ou XML Schema. 2.2 SECÇÕES CDATA Todo o texto de um documento XML é interpretado durante a leitura do ficheiro, para permitir a detecção de inícios e fins de etiquetas. Sérgio Rocha - 2104 ISVOUGA Página 7 de 16
  • 8. TP 4 - Trabalho Prático XML Existem alguns caracteres que são ilegais em XML, pois a sua utilização gera documentos com interpretações ambíguas. Estes caracteres têm que ser substituídos por entidades referenciais (começadas pelo caracter "&" 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 " que devem 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ão interpretadas, e que portanto não restringem a utilização de caracteres ilegais. Uma secção CDATA começa com "<![CDATA[" e termina com "]]>": Exemplo: <script> <![CDATA[ if (a < b && a < 0) then return 1; else return 0; ]]> </script> As secções CDATA não podem conter outras secções CDATA, ou seja, não podem conter as sequências de caracteres "<![CDATA[" ou "]]>". Sérgio Rocha - 2104 ISVOUGA Página 8 de 16
  • 9. TP 4 - Trabalho Prático XML A sequência "]]>" também não pode ter espaços nem mudanças de linha no seu interior. 2.3 ESQUEMA DTD O objectivo de uma Document Type Definition (DTD) é construir uma gramática que define a estrutura e elementos válidos de um tipo de documento XML. Os documentos que respeitam essa DTD dizem-se válidos. A DTD é efectuada numa linguagem própria com sintaxe própria, diferente do XML. O documento XML pode conter uma DTD embebida 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>Sérgio Rocha</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)> <!ELEMENT assunto (#PCDATA)> Quando o documento XML é lido por um interpretador, se a opção de validação estiver activa, o DTD é utilizado para validar o documento. Caso o documento não respeite o DTD, gera-se um erro. Sérgio Rocha - 2104 ISVOUGA Página 9 de 16
  • 10. TP 4 - Trabalho Prático XML 2.4 ESQUEMA XML SCHEMA A 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. Por este motivo, a XML Schema é uma aplicação da XML que descreve a estrutura de um documento. 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: • Elementos que podem aparecer num documento; • Atributos que podem aparecer num documento; • Elementos que são elementos filhos; • A ordem dos elementos filhos; • O número de elementos filhos; • Se um elemento é vazio ou pode incluir texto; • Tipos de dados para elementos e atributos; • Valores por omissão ou fixos para elementos e atributos. A utilização de DTD tem tendência a ser substituída por XML Schema, porque esta última apresenta várias vantagens: Sérgio Rocha - 2104 ISVOUGA Página 10 de 16
  • 11. TP 4 - Trabalho Prático XML • É extensível; • É mais expressiva que a DTD; • É escrita em XML; • Suporta tipos de dados; • Suporta espaços de nomes. Exemplo 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> Sérgio Rocha - 2104 ISVOUGA Página 11 de 16
  • 12. TP 4 - Trabalho Prático XML </shiporder> Exemplo de um XML Schema: <?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> </xs:element> Sérgio Rocha - 2104 ISVOUGA Página 12 de 16
  • 13. TP 4 - Trabalho Prático XML </xs:sequence> <xs:attribute name="orderid" type="xs:string" use="required"/> </xs:complexType> </xs:element></xs:schema> Sérgio Rocha - 2104 ISVOUGA Página 13 de 16
  • 14. TP 4 - Trabalho Prático XML 3. MODELOS DE PROCESSAMENTO Existem 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 suas características, depende também da funcionalidade disponível na biblioteca de programação utilizada. 3.1 SAX O SAX processa documentos em série, lendo os dados XML e produzindo eventos de vários tipos: início de documento, início de elemento, caracteres, fim de elemento, fim de documento, etc. Este modelo de processamento é mais rápido e utiliza menos memória que o DOM, devendo ser utilizado, por exemplo, no servidor de aplicações em rede. No entanto, o SAX necessita de mais programação para definir o tratamento dos eventos 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 DOM O DOM lê o documento e constrói uma estrutura em árvore, em que cada nó é um componente do documento XML. Os nós podem ser elementos, atributos, texto e até comentá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 de processamento é que necessita de bastante memória, o que pode ser impeditivo de manipular documentos de grande dimensão. Por este motivo, o DOM é sobretudo utilizado em aplicações cliente orientadas a utilizador, que tipicamente correm em máquinas com poucos problemas de memória. Sérgio Rocha - 2104 ISVOUGA Página 14 de 16
  • 15. TP 4 - Trabalho Prático XML 4. CONCLUSÃO O XML permite múltiplas formas de visualização, permitindo assim, que um único documento possa ser apresentado de diversas formas, de acordo com o gosto do utilizador ou de acordo com as configurações da aplicação em uso. Essa múltipla visualização é processada localmente, no cliente, permitindo-nos ainda a integração de dados estruturados de diversas fontes, tais como bancos de dados. Essa integração pode ser feita num servidor intermediário, e os dados estarão disponíveis para clientes ou outros servidores. Por ser extensível, o XML pode descrever dados de uma enorme variedade de aplicações (registo de dados, notícias, transacções comerciais, etc...) e por possuir tags auto-descritivas não precisa de uma descrição de contexto acoplada ao documento como o HTML. Permite actualizações granulares, evitando que uma simples modificação num documento resulte na necessidade da actualização completa do mesmo. Em síntese conclui-se que a linguagem XML é destinada a descrever o conteúdo de um documento, e a linguagem HTML tem como objectivo definir a formatação do mesmo, ou seja, o XML define o assunto, e o HTML define como ele será exibido ao utilizador. Sérgio Rocha - 2104 ISVOUGA Página 15 de 16
  • 16. TP 4 - Trabalho Prático XML 5. BIBLIOGRAFIA • http://pt.wikipedia.org/wiki/XML • http://www.centroatl.pt/titulos/tecnologias/imagens/oguiapraticoda-xml-excerto.pdf • http://www.w3schools.com/xml/default.asp • http://www.xml.com/ Sérgio Rocha - 2104 ISVOUGA Página 16 de 16