Instituto Superior de Entre Douro e Vouga
Tecnologias da Informação e da Comunicação│2011/2012

              Tecnologia de Internet




         Trabalho realizado por:

      Liliana João Monteiro da Costa

Santa Maria da Feira, 25 Novembro de 2011
4- Tecnologias de Internet                   XML




                                ÍNDICE




1. 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…………………………………….         8

3. Modelos de Processamento ………………………………………. 11


           3.1 SAX……………………………………………………………. 11

           3.2 O DOM………………………………………………………... 11

4. Conclusão…………………………………………………………….                     13


5. Bibliografia……………………………………………………………                   14




Liliana Costa 3722           ISVOUGA               Página 1 de 14
4- Tecnologias de Internet                                        XML




1. HTML Versus XML

HTML e XML são primos. Eles derivam da mesma inspiração, o SGML. Ambos
identificam 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 o
XML não descreve nem aparência e ações, mas sim o que cada trecho de dados é ou
representa. 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 cada
sentido para as tags e atributos (e frequentemente a maneira pela qual o texto entre
eles será exibido em um navegador), o XML usa as tags somente para delimitar
trechos de dados, e deixa a interpretação do dado a ser realizada completamente para
a 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, uma
pessoa, ou qualquer outra coisa que se possa imaginar (inclusive algo que não tenha
nada 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 ser
humano como o HTML é. Os documentos XML são arquivos texto porque facilitam que
os programadores ou desenvolvedores "debuguem" mais facilmente as aplicações, de
forma que um simples editor de textos pode ser usado para corrigir um erro em um
arquivo XML. Mas as regras de formatação para documentos XML são muito mais
rígidas do que para documentos HTML. Uma tag esquecida ou um atributo sem aspas
torna o documento inutilizável, enquanto, que no HTML isso é tolerado. As
especificações oficiais do XML determinam que as aplicações não podem tentar
adivinhar o que está errado em um arquivo (no HTML isso acontece), mas sim devem
parar 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- Tecnologias de Internet                                           XML




         Simplificar a transferência de dados;
         Simplificar a mudança de plataforma;
         Ser a base para criação de novas linguagens

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




Liliana Costa 3722                     ISVOUGA                             Página 3 de 14
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çã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>-


Liliana Costa 3722                         ISVOUGA                        Página 4 de 14
4- Tecnologias de Internet                                                 XML




Os elementos estão correctamente ordenados quando as etiquetas abrem e fechamem
sequê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 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 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 é bem
formado e respeita uma gramática definida por DTD ou XML Schema.




Liliana Costa 3722                     ISVOUGA                                   Página 5 de 14
4- Tecnologias de Internet                                         XML




         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.

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



Liliana Costa 3722                             ISVOUGA                   Página 6 de 14
4- Tecnologias de Internet                                      XML




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 "]]>"

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>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
4- Tecnologias de Internet                                            XML




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

         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:

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
4- Tecnologias de Internet                                     XML




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>

Exemplo de um XML Schema:



Liliana Costa 3722                     ISVOUGA                       Página 9 de 14
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
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 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, oSAX 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

         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é


Liliana Costa 3722                  ISVOUGA                                Página 11 de 14
4- Tecnologias de Internet                                       XML




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.




Liliana Costa 3722                ISVOUGA                              Página 12 de 14
4- Tecnologias de Internet                                           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 deum documento, e a linguagem HTML tem como objectivo definir a
formatação domesmo, ou seja, o XML define o assunto, e o HTML define como ele
será exibido aoutilizador. Sérgio Rocha - 2104 ISVOUGA Página 15 de 16




Liliana Costa 3722                  ISVOUGA                                Página 13 de 14
4- Tecnologias de Internet                                             XML




5.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/XHTML




Liliana Costa 3722                    ISVOUGA                                Página 14 de 14

A e xtensible markup language (xml)

  • 1.
    Instituto Superior deEntre Douro e Vouga Tecnologias da Informação e da Comunicação│2011/2012 Tecnologia de Internet Trabalho realizado por: Liliana João Monteiro da Costa Santa Maria da Feira, 25 Novembro de 2011
  • 2.
    4- Tecnologias deInternet XML ÍNDICE 1. 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……………………………………. 8 3. Modelos de Processamento ………………………………………. 11 3.1 SAX……………………………………………………………. 11 3.2 O DOM………………………………………………………... 11 4. Conclusão……………………………………………………………. 13 5. Bibliografia…………………………………………………………… 14 Liliana Costa 3722 ISVOUGA Página 1 de 14
  • 3.
    4- Tecnologias deInternet XML 1. HTML Versus XML HTML e XML são primos. Eles derivam da mesma inspiração, o SGML. Ambos identificam 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 o XML não descreve nem aparência e ações, mas sim o que cada trecho de dados é ou representa. 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 cada sentido para as tags e atributos (e frequentemente a maneira pela qual o texto entre eles será exibido em um navegador), o XML usa as tags somente para delimitar trechos de dados, e deixa a interpretação do dado a ser realizada completamente para a 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, uma pessoa, ou qualquer outra coisa que se possa imaginar (inclusive algo que não tenha nada 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 ser humano como o HTML é. Os documentos XML são arquivos texto porque facilitam que os programadores ou desenvolvedores "debuguem" mais facilmente as aplicações, de forma que um simples editor de textos pode ser usado para corrigir um erro em um arquivo XML. Mas as regras de formatação para documentos XML são muito mais rígidas do que para documentos HTML. Uma tag esquecida ou um atributo sem aspas torna o documento inutilizável, enquanto, que no HTML isso é tolerado. As especificações oficiais do XML determinam que as aplicações não podem tentar adivinhar o que está errado em um arquivo (no HTML isso acontece), mas sim devem parar 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 deInternet XML Simplificar a transferência de dados; Simplificar a mudança de plataforma; Ser a base para criação de novas linguagens 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>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 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. Liliana Costa 3722 ISVOUGA Página 3 de 14
  • 5.
    4- Tecnologias deInternet 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çã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>- Liliana Costa 3722 ISVOUGA Página 4 de 14
  • 6.
    4- Tecnologias deInternet XML Os elementos estão correctamente ordenados quando as etiquetas abrem e fechamem sequê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 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 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 é bem formado e respeita uma gramática definida por DTD ou XML Schema. Liliana Costa 3722 ISVOUGA Página 5 de 14
  • 7.
    4- Tecnologias deInternet XML 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. 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 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 " 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 Liliana Costa 3722 ISVOUGA Página 6 de 14
  • 8.
    4- Tecnologias deInternet XML 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 "]]>" 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>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 deInternet XML <!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. 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: 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 deInternet XML 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> Exemplo de um XML Schema: Liliana Costa 3722 ISVOUGA Página 9 de 14
  • 11.
    4- Tecnologias deInternet 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 deInternet XML </xs:element> </xs:sequence> <xs:attribute name="orderid" type="xs:string" use="required"/> </xs:complexType> </xs:element> </xs:schema> 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, oSAX 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 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é Liliana Costa 3722 ISVOUGA Página 11 de 14
  • 13.
    4- Tecnologias deInternet XML 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. Liliana Costa 3722 ISVOUGA Página 12 de 14
  • 14.
    4- Tecnologias deInternet 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 deum documento, e a linguagem HTML tem como objectivo definir a formatação domesmo, ou seja, o XML define o assunto, e o HTML define como ele será exibido aoutilizador. Sérgio Rocha - 2104 ISVOUGA Página 15 de 16 Liliana Costa 3722 ISVOUGA Página 13 de 14
  • 15.
    4- Tecnologias deInternet XML 5.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/XHTML Liliana Costa 3722 ISVOUGA Página 14 de 14