XML - Introdução
Prof. Aldo de Queiroz Jr
aldo.queiroz@uniderp.edu.br
XML - Conceitos
 XML - EXtensible Markup Language -
Linguagem de Marcação Extensível
 Criada por um consórcio de empresas,
profissionais e instituições interessadas no
desenvolvimento da WWW: http://www.w3.org/xml
 XML é recomendação W3C desde 1998.
Atualmente na versão 1.1 de 04/02/2004.
Disponível em http://www.w3.org/TR/xml11/
XML - Conceitos
 É uma versão simplificada da SGML
(Standard Generalized Markup Language)
 Capaz de descrever diversos tipos de
dados.
 Seu propósito principal é a facilidade de
compartilhamento de informações através
da Internet.
 Marcas identificam dados ou trechos de
um documento
XML – Características
 Separação do conteúdo e da formatação;
 Legibilidade tanto por humanos quanto por
máquinas;
 Possibilidade de criação de elementos de
marcação tags sem limitação;
 Criação de arquivos para validação de estrutura;
 Com seu uso pode-se interligar bancos de
dados distintos;
 Simplicidade;
 XML separa a estrutura da informação de sua
apresentação.
HTML
 HTML (HyperText Markup Language)
possui um conjunto limitado de tags que
são interpretados pelos navegadores.
 O conteúdo é representado juntamente
com sua estrutura e forma de
apresentação especificada por meio das
tags.
 O XML identifica facilmente as estruturas
mas não inclui orientações de
apresentação (formatação) do conteúdo.
XML
 Dimensão de Informação:
Conteúdo: XML
Estrutura: XML, DTD, XMLSchema
 Dimensão de Apresentação
CSS
XSL
 Dimensão de processamento:
Parses
APIs
DOM
XML – Estrutura e Conteúdo
 Um documento XML pode conter
Instruções de processamento <? ... ?>
Comentários <!- - ... - ->
Elementos (tags) e atributos
Referência a entidades &ref;
Seções CDATA
XML – Documentos Bem Formados
 Uma linguagem impõe regras que indicam
como escrever um documento bem formado.
 Essas regras são chamadas de sintaxe.
 A observação dessas regras é fundamental para
que um navegador consiga interpretar o código
XML
XML – Documentos Bem Formados
1. Documento XML sempre inicia com uma
instrução de processamento indicando a
versão e o conjunto de caracteres:
<?xml version="1.0" encoding="ISO-8859-1"?>
Existem vários conjuntos de caracteres: Unicode,
ISO-10646, UTF-8, UTF-16.
XML – Documentos Bem Formados
2. As tags XML são sensíveis ao caso, ou seja,
<tipo> é diferente de <Tipo> e de <TIPO>:
<nome>Jorge Luiz</NOME>
<email>jluiz@gmail.com</email>
</NOME> não é a tag de término de
<nome>, por isto não é bem formado.
XML – Documentos Bem Formados
 3. Cada tag de abertura deve ter uma
tag de fechamento correspondente:
<nome>Jorge Luiz
<email>jluiz@gmail.com</email>
A tag <nome> não possui término (</nome>),
por isto é mal-formada.
XML – Documentos Bem Formados
4. Respeitar a hierarquia e o aninhamento
de tags:
<nome>Jorge Luiz
<email>jluiz@gmail.com</nome>
</email>
A tag <email> não pode encerrar-se depois
da tag <nome>, por isto é mal-formada.
XML – Documentos Bem Formados
 5. Possui um elemento raiz (root) que
contém todos os outros:
<agenda>
<pessoa id="1">
<nome>Jorge Luiz</nome>
<email>jluiz@gmail.com</email>
</pessoa>
<pessoa id="2">
<nome>Ana Paula</nome>
<email>apaula@gmail.com</email>
</pessoa>
</agenda>
A tag <agenda> é a raiz do documento
XML – Documentos Bem Formados
6. Preferencialmente, o nome do arquivo XML
deve ser o nome do elemento raiz:
<agenda>
<pessoa id="1">
<nome>Jorge Luiz</nome>
<email>jluiz@gmail.com</email>
</pessoa>
<pessoa id="2">
<nome>Ana Paula</nome>
<email>apaula@gmail.com</email>
</pessoa>
</agenda>
Salve o documento com o nome de agenda.xml
XML – Documentos Bem Formados
 W3C recomenda que os aplicativos que
utilizam XML não tentem corrigir erros
de formação como acontece com
HTML.
Exercício 1
Faça uma análise do documento XML
abaixo indicando onde e quais são os
erros de formação que existem:
<?xml version=”1.0” encoding="ISO-8859-1"?
>
<MICRO>
<HD>Capacidade 20 Gb</Hd>
<DISQUETE>Capacidade 1,44 Mb</MICRO>
</DISQUETE>
Exercício 2
Faça uma análise do documento XML
abaixo indicando onde e quais são os
erros de formação que existem:
<xml version=”1.0” encoding="ISO-8859-1"?>
<CURSO>
<DISCIPLINA sem=“4”>Linguagem IV
<OBJETIVO>Ensinar XML</OBJETIVO>
<METODOLOGIA>Laboratórios<metodologia>
<avaliação>3 provas</avaliacao>
</CURSO>
XML – Documentos Válidos
(estrutura+semântica)
 Algumas vezes, além de bem formados, o
documento XML também precisa ser
válido.
 Ou seja, deve estar de acordo com uma
definição de estrutura previamente
estabelecida
 Para indicar a estrutura de um documento
pode ser usado o DTD (Document Type
Definition) ou XMLSchema
XML – Documentos Válidos
(estrutura+semântica)
Por exemplo, o arquivo agenda.xml
pode ter sua estrutura definida pelo
arquivo agenda.dtd.
Neste caso, além de ser bem
formado, o documento XML deve
obedecer as especificações definidas
pelo DTD
XML – Apresentação
 Uma pequena alteração no arquivo XML
permite que o conteúdo seja apresentado
em um navegador
 Faz-se uma referência a um arquivo CSS
(agenda.css) com orientações de
formatação:
<?xml-stylesheet type="text/css" href="agenda.css"?>
XML – Apresentação
 Outra forma de apresentar conteúdos XML
é através de XSL
 XSL - XML Stylesheeet Language
<?xml-stylesheet type="text/xsl" href="agenda.xsl"?>
XML – Parsers, APIs, DOM
 Documentos XML podem ser processados
e gerados por outras aplicações, para isto,
o W3C criou interfaces para facilitar o
intercâmbio e a criação de documentos
XML
XML – Parsers, APIs, DOM
Parsers
 processam documentos XML
sequencialmente gerando um outro
documento em formato diferente
APIs
geram eventos para aplicações
DOM
gera uma árvore percorrida pela aplicação
XML - Exemplo
Exemplo de documento XML – agenda.xml:
<?xml version="1.0" encoding="ISO-8859-1"?>
<agenda>
<nota>
<para>Paulo</para>
<de>Maria</de>
<assunto>Lembrete</assunto>
<texto>Não esqueça da reunião</texto>
</nota>
</agenda>
XML - Exemplo
Exemplo de documento DTD – agenda.dtd:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!ELEMENT agenda (nota+)>
<!ELEMENT nota (para,de,assunto,texto)>
<!ELEMENT para (#PCDATA)>
<!ELEMENT de (#PCDATA)>
<!ELEMENT assunto (#PCDATA)>
<!ELEMENT texto (#PCDATA)>
XML - Exemplo
Exemplo de documento XML com DTD externo:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE agenda SYSTEM "agenda.dtd">
<agenda>
<nota>
<para>Paulo</para>
<de>Maria</de>
<assunto>Lembrete</assunto>
<texto>Não esqueça da reunião</texto>
</nota>
</agenda>
XML - Exemplo
Exemplo de documento XSL para apresentação:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform“>
<xsl:template match="agenda">
<html>
<title>Agenda de Compromissos</title>
<h1>Agenda de Compromissos</h1>
<xsl:apply-templates/>
</html>
</xsl:template>
<xsl:template match="nota">
<hr/>
<xsl:apply-templates/>
<p/>
</xsl:template>
...
</xsl:template>
<xsl:template match="text()">
<xsl:value-of select="."/>
</xsl:template>
</xsl:stylesheet>
XML - Exemplo
Exemplo de documento XML com XSL:
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="agenda.xsl"?>
<!DOCTYPE agenda SYSTEM "agenda.dtd">
<agenda>
<nota>
<para>Paulo</para>
<de>Maria</de>
<assunto>Lembrete</assunto>
<texto>Não esqueça da reunião</texto>
</nota>
</agenda>
XML - Exemplo
Apresentação no Browser do XML com XSL:

XML - Parte 1

  • 1.
    XML - Introdução Prof.Aldo de Queiroz Jr aldo.queiroz@uniderp.edu.br
  • 2.
    XML - Conceitos XML - EXtensible Markup Language - Linguagem de Marcação Extensível  Criada por um consórcio de empresas, profissionais e instituições interessadas no desenvolvimento da WWW: http://www.w3.org/xml  XML é recomendação W3C desde 1998. Atualmente na versão 1.1 de 04/02/2004. Disponível em http://www.w3.org/TR/xml11/
  • 3.
    XML - Conceitos É uma versão simplificada da SGML (Standard Generalized Markup Language)  Capaz de descrever diversos tipos de dados.  Seu propósito principal é a facilidade de compartilhamento de informações através da Internet.  Marcas identificam dados ou trechos de um documento
  • 4.
    XML – Características Separação do conteúdo e da formatação;  Legibilidade tanto por humanos quanto por máquinas;  Possibilidade de criação de elementos de marcação tags sem limitação;  Criação de arquivos para validação de estrutura;  Com seu uso pode-se interligar bancos de dados distintos;  Simplicidade;  XML separa a estrutura da informação de sua apresentação.
  • 5.
    HTML  HTML (HyperTextMarkup Language) possui um conjunto limitado de tags que são interpretados pelos navegadores.  O conteúdo é representado juntamente com sua estrutura e forma de apresentação especificada por meio das tags.  O XML identifica facilmente as estruturas mas não inclui orientações de apresentação (formatação) do conteúdo.
  • 6.
    XML  Dimensão deInformação: Conteúdo: XML Estrutura: XML, DTD, XMLSchema  Dimensão de Apresentação CSS XSL  Dimensão de processamento: Parses APIs DOM
  • 7.
    XML – Estruturae Conteúdo  Um documento XML pode conter Instruções de processamento <? ... ?> Comentários <!- - ... - -> Elementos (tags) e atributos Referência a entidades &ref; Seções CDATA
  • 8.
    XML – DocumentosBem Formados  Uma linguagem impõe regras que indicam como escrever um documento bem formado.  Essas regras são chamadas de sintaxe.  A observação dessas regras é fundamental para que um navegador consiga interpretar o código XML
  • 9.
    XML – DocumentosBem Formados 1. Documento XML sempre inicia com uma instrução de processamento indicando a versão e o conjunto de caracteres: <?xml version="1.0" encoding="ISO-8859-1"?> Existem vários conjuntos de caracteres: Unicode, ISO-10646, UTF-8, UTF-16.
  • 10.
    XML – DocumentosBem Formados 2. As tags XML são sensíveis ao caso, ou seja, <tipo> é diferente de <Tipo> e de <TIPO>: <nome>Jorge Luiz</NOME> <email>jluiz@gmail.com</email> </NOME> não é a tag de término de <nome>, por isto não é bem formado.
  • 11.
    XML – DocumentosBem Formados  3. Cada tag de abertura deve ter uma tag de fechamento correspondente: <nome>Jorge Luiz <email>jluiz@gmail.com</email> A tag <nome> não possui término (</nome>), por isto é mal-formada.
  • 12.
    XML – DocumentosBem Formados 4. Respeitar a hierarquia e o aninhamento de tags: <nome>Jorge Luiz <email>jluiz@gmail.com</nome> </email> A tag <email> não pode encerrar-se depois da tag <nome>, por isto é mal-formada.
  • 13.
    XML – DocumentosBem Formados  5. Possui um elemento raiz (root) que contém todos os outros: <agenda> <pessoa id="1"> <nome>Jorge Luiz</nome> <email>jluiz@gmail.com</email> </pessoa> <pessoa id="2"> <nome>Ana Paula</nome> <email>apaula@gmail.com</email> </pessoa> </agenda> A tag <agenda> é a raiz do documento
  • 14.
    XML – DocumentosBem Formados 6. Preferencialmente, o nome do arquivo XML deve ser o nome do elemento raiz: <agenda> <pessoa id="1"> <nome>Jorge Luiz</nome> <email>jluiz@gmail.com</email> </pessoa> <pessoa id="2"> <nome>Ana Paula</nome> <email>apaula@gmail.com</email> </pessoa> </agenda> Salve o documento com o nome de agenda.xml
  • 15.
    XML – DocumentosBem Formados  W3C recomenda que os aplicativos que utilizam XML não tentem corrigir erros de formação como acontece com HTML.
  • 16.
    Exercício 1 Faça umaanálise do documento XML abaixo indicando onde e quais são os erros de formação que existem: <?xml version=”1.0” encoding="ISO-8859-1"? > <MICRO> <HD>Capacidade 20 Gb</Hd> <DISQUETE>Capacidade 1,44 Mb</MICRO> </DISQUETE>
  • 17.
    Exercício 2 Faça umaanálise do documento XML abaixo indicando onde e quais são os erros de formação que existem: <xml version=”1.0” encoding="ISO-8859-1"?> <CURSO> <DISCIPLINA sem=“4”>Linguagem IV <OBJETIVO>Ensinar XML</OBJETIVO> <METODOLOGIA>Laboratórios<metodologia> <avaliação>3 provas</avaliacao> </CURSO>
  • 18.
    XML – DocumentosVálidos (estrutura+semântica)  Algumas vezes, além de bem formados, o documento XML também precisa ser válido.  Ou seja, deve estar de acordo com uma definição de estrutura previamente estabelecida  Para indicar a estrutura de um documento pode ser usado o DTD (Document Type Definition) ou XMLSchema
  • 19.
    XML – DocumentosVálidos (estrutura+semântica) Por exemplo, o arquivo agenda.xml pode ter sua estrutura definida pelo arquivo agenda.dtd. Neste caso, além de ser bem formado, o documento XML deve obedecer as especificações definidas pelo DTD
  • 20.
    XML – Apresentação Uma pequena alteração no arquivo XML permite que o conteúdo seja apresentado em um navegador  Faz-se uma referência a um arquivo CSS (agenda.css) com orientações de formatação: <?xml-stylesheet type="text/css" href="agenda.css"?>
  • 21.
    XML – Apresentação Outra forma de apresentar conteúdos XML é através de XSL  XSL - XML Stylesheeet Language <?xml-stylesheet type="text/xsl" href="agenda.xsl"?>
  • 22.
    XML – Parsers,APIs, DOM  Documentos XML podem ser processados e gerados por outras aplicações, para isto, o W3C criou interfaces para facilitar o intercâmbio e a criação de documentos XML
  • 23.
    XML – Parsers,APIs, DOM Parsers  processam documentos XML sequencialmente gerando um outro documento em formato diferente APIs geram eventos para aplicações DOM gera uma árvore percorrida pela aplicação
  • 24.
    XML - Exemplo Exemplode documento XML – agenda.xml: <?xml version="1.0" encoding="ISO-8859-1"?> <agenda> <nota> <para>Paulo</para> <de>Maria</de> <assunto>Lembrete</assunto> <texto>Não esqueça da reunião</texto> </nota> </agenda>
  • 25.
    XML - Exemplo Exemplode documento DTD – agenda.dtd: <?xml version="1.0" encoding="ISO-8859-1"?> <!ELEMENT agenda (nota+)> <!ELEMENT nota (para,de,assunto,texto)> <!ELEMENT para (#PCDATA)> <!ELEMENT de (#PCDATA)> <!ELEMENT assunto (#PCDATA)> <!ELEMENT texto (#PCDATA)>
  • 26.
    XML - Exemplo Exemplode documento XML com DTD externo: <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE agenda SYSTEM "agenda.dtd"> <agenda> <nota> <para>Paulo</para> <de>Maria</de> <assunto>Lembrete</assunto> <texto>Não esqueça da reunião</texto> </nota> </agenda>
  • 27.
    XML - Exemplo Exemplode documento XSL para apresentação: <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform“> <xsl:template match="agenda"> <html> <title>Agenda de Compromissos</title> <h1>Agenda de Compromissos</h1> <xsl:apply-templates/> </html> </xsl:template> <xsl:template match="nota"> <hr/> <xsl:apply-templates/> <p/> </xsl:template> ... </xsl:template> <xsl:template match="text()"> <xsl:value-of select="."/> </xsl:template> </xsl:stylesheet>
  • 28.
    XML - Exemplo Exemplode documento XML com XSL: <?xml version="1.0" encoding="ISO-8859-1"?> <?xml-stylesheet type="text/xsl" href="agenda.xsl"?> <!DOCTYPE agenda SYSTEM "agenda.dtd"> <agenda> <nota> <para>Paulo</para> <de>Maria</de> <assunto>Lembrete</assunto> <texto>Não esqueça da reunião</texto> </nota> </agenda>
  • 29.
    XML - Exemplo Apresentaçãono Browser do XML com XSL: