SlideShare a Scribd company logo
1 of 15
PÓS-GRADUAÇÃO EM TECNOLOGIAS DA
        INFORMÁTICA E COMUNICAÇÃO
                            2011/2012
Trabalho Prático 4 – XML.

                             Aluna: Joana Maria Dias da Costa, nº 3718
Índice
XML- conceito................................................................................................................................ 3
   XML (Extensible Markup Language) .......................................................................................... 3
   Características do XML .............................................................................................................. 3
XML versus HTML .......................................................................................................................... 4
Regras de Construção.................................................................................................................... 5
   Regras de Sintaxe ...................................................................................................................... 5
   SECÇÕES CDATA ........................................................................................................................ 8
   Esquema DTD ............................................................................................................................ 9
   Esquema XML Schema ............................................................................................................ 10
MODELOS DE PROCESSAMENTO................................................................................................. 11
   SAX .......................................................................................................................................... 11
   DOM ........................................................................................................................................ 12
CONCLUSÃO ................................................................................................................................ 14
BIBLIOGRAFIA .............................................................................................................................. 15




                                                                                                                                                  2
XML- conceito
XML (Extensible Markup Language) é uma recomendação da W3C para
gerar linguagens de marcação para necessidades especiais.
É um dos subtipos da SGML (acrônimo de Standard Generalized Markup
Language, ou Linguagem Padronizada de Marcação Genérica) capaz de
descrever diversos tipos de dados. Seu propósito principal é a facilidade de
compartilhamento de informações através da internet.
Entre linguagens baseadas em XML incluem-se XHTML (formato para páginas
Web), RDF,SDMX ,SMIL, MathML (formato para expressões matemáticas),
NCL, XBRL, XSIL e SVG (formato gráfico vetorial). A principal característica do
XML, de criar uma infra-estrutura única para diversas linguagens, é que
linguagens desconhecidas e de pouco uso também podem ser definidas sem
maior trabalho e sem necessidade de ser submetidas aos comitês de
padronização.



Características do XML
Em meados da década de 1990, o World Wide Web Consortium (W3C)
começou a trabalhar em uma linguagem de marcação que combinasse a
flexibilidade da SGML com a simplicidade da HTML. O princípio do projeto era
criar uma linguagem que pudesse ser lida por software, e integrar-se com as
demais linguagens. Sua filosofia seria incorporada por vários princípios
importantes:
      Separação do conteúdo da formatação
      Simplicidade   e   legibilidade,   tanto   para   humanos   quanto   para
      computadores
      Possibilidade de criação de tags sem limitação
      Criação de arquivos para validação de estrutura (chamados DTDs)
      Interligação de bancos de dados distintos
      Concentração na estrutura da informação, e não na sua aparência
O XML é um formato para a criação de documentos com dados organizados de
forma hierárquica, como se vê, frequentemente, em documentos de texto
formatados, imagens vetoriais ou bancos de dados.



                                                                              3
Pela sua portabilidade, já que é um formato que não depende das plataformas
de hardware ou de software, um banco de dados pode, através de uma
aplicação, escrever em um arquivo XML, e um outro banco distinto pode ler
então estes mesmos dados.




XML versus HTML
Em traços muito gerais o HTML é 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
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.
Apesar de ser uma ferramenta fácil de usar e aprender, facto pelo qual se
generalizou bastante o seu uso, verificam-se algumas desvantagens na
utilização do HTML que se prendem com o facto de: os dados estarem
dependentes da sua apresentação gráfica; não nos fornecer conteúdo
semântico e ter um número limitado de etiquetas.
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
                                                                                4
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.




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



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



                                                                               5
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>Joana Costa</de>
        <para>João Costa</para>
        <assunto>Entrega de Prendas de Natal</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.
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


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


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



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
geradocumentos com interpretações ambíguas. Estes caracteres têm que ser
substituídospor 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 sersubstituí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 "]]>":




                                                                               8
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 "]]>"
A sequência "]]>" também não pode ter espaços nem mudanças de linha no
seu interior.



Esquema DTD
O DTD é um documento (esquema) que validará um documento XML. Lee e
Chu apud Pinheiro (2003), em estudos comparativos para validação estrutural
e sintática da XML, apontam vários fatores restritivos ao uso da DTD:
           sua sintaxe não é baseada ou derivada da XML, o que não permite que
           ela seja validada por um parser.
           as declarações da DTD são globais, não permitindo declarar elementos
           de mesmo nome em pontos distintos do documento;
           a DTD tem deficiências na especificação do tipo de dado dos elementos
           (inteiro, real, alfa-numérico, etc).
    Exemplo de uma DTD
<!ELEMENT PRODUTOS ((PRODUTO))+>
<!ELEMENT PRODUTO (NOME, FABRICANTE, PRECO)>
<!ELEMENT FABRICANTE (FANTASIA, RAZAOSOCIAL, ENDERECO+)>
<!ELEMENT ENDERECO (RUA, NUMERO, CIDADE, ESTADO, CEP)>
<!ELEMENT NOME (#PCDATA)>
<!ELEMENT PRECO (#PCDATA)>
<!ELEMENT FANTASIA (#PCDATA)>

                                                                               9
<!ELEMENT RAZAOSOCIAL (#PCDATA)>
<!ELEMENT RUA (#PCDATA)>
<!ELEMENT NUMERO (#PCDATA)>
<!ELEMENT CIDADE (#PCDATA)>
<!ELEMENT ESTADO (#PCDATA)>
<!ELEMENT CEP (#PCDATA)>
<!ATTLIST PRECO
          MOEDA CDATA #REQUIRED
          PAIS CDATA #REQUIRED>
<!ATTLIST FABRICANTE
          NACIONALIDADE CDATA "BRASILEIRA">



Esquema XML Schema


As deficiências apontadas na DTD, foram suficientes para o W3C, em 2001,
lançar e recomendar o XML Schema. Segundo Pinheiro (2003, p. 39), ―um
Esquema XML tem por objetivo descrever a estrutura de um documento. Ele
define os elementos existentes no documento, bem como sua ordem e os
valores possíveis para os conteúdos‖. A figura a seguir mostra-nos um exemplo
de um XML Schema.
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v2004 rel. 2 (http://www.xmlspy.com) by Gestão e Desenvolvimento
WEB -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
attributeFormDefault="unqualified">
       <xs:element name="mensagem"/>
       <xs:element name="de" type="xs:string">
              <xs:annotation>
                      <xs:documentation>Comment describing your root
element</xs:documentation>
              </xs:annotation>
      </xs:element>
       <xs:element name="assunto" type="xs:string"/>
       <xs:element name="para" type="xs:string"/>
       <xs:element name="data" type="xs:date"/>
       <xs:element name="texto" type="xs:string"/>


                                                                                     10
</xs:schema>
As principais características do XML Schema são explicadas por Pinheiro
(2003):
          tem a mesma estrutura de um documento XML, ou seja, é uma
          aplicação XML, com o mesmo vocabulário,6 capaz de definir
          estruturalmente classes de documentos XML, e validá-las;
          namespaces (espaço de nomes): contextualiza um nome de elemento
          ou de atributo em um documento XML, ou seja, determina um escopo
          para os elementos declarados. Utilizando o espaço de nomes, passa a
          ser permitido a repetição de um nome de elemento em um documento
          XML, desde que esteja em escopos diferentes. Declaram-se os
          namespaces apontando uma URI (uniform resource identifier). A XML
          permite que se declarem vários namespaces em um único documento,
          para tal, identifica cada um separado pelo caracter dois pontos (―:‖), da
          palavra reservada xmlns.
          grande diversidade de tipos de elementos;
    Com relação à criação do XML Schema, temos um conjunto de regras
    determinadas pelo W3C, que são: definições básicas; estruturas; tipos de
    dados.




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.



SAX


      SAX (Simple API for XML) não é um padrão do W3C. Existem diversos
analisadores SAX, para diferentes linguagens de programação, dentre elas,
Java, C++ e Delphi. As especificações SAX estão disponíveis publicamente.
                                                                                11
SAX é um analisador baseado em eventos – ele lê um fluxo de entrada
XML. SAX é bastante simples, não exige muita memória e suporta namespace.
Não é possível modificar um documento XML, pois SAX é somente de leitura.



DOM


      DOM (document object model) é uma interface de programação de
aplicação completa para documentos XML. Esta interface permite que clientes
possamnavegar, acrescentar, modificar ou excluir documentos XML. DOM é
relativamente pesado nos recursos, porém, ao contrário do SAX, armazena a
estrutura completa do documento na memória.
      Como exemplo de uma implementação DOM muito popular nas
plataformas Windows é o MSXML da Microsoft. A figura            mostra-nos um
exemplo de DOM:


Set xmlDoc = CreateObject("Msxml2.DOMDocument.4.0")
Set stylePI = xmlDoc.createProcessingInstruction("xml", "version=""1.0""")
xmlDoc.appendChild(stylePI)
Set root = xmlDoc.createElement("ALUNOS")
xmlDoc.appendChild root
AdicionaAluno "1", "Renato", root
AdicionaAluno "2", "Paulo", root
10
AdicionaAluno "3", "Marcos", root
AdicionaAluno "4", "Sérgio", root
xmlDoc.save "c:alunos.xml"
sub AdicionaAluno(id, nome, raiz)
 set eleAluno = xmlDoc.createElement("ALUNO")
 eleAluno.setAttribute "id", id
 set eleNome = xmlDoc.createElement("NOME")
 Set eleNomeConteudo = xmlDoc.createTextNode(nome)
 eleNome.appendChild eleNomeConteudo
 eleAluno.appendChild eleNome


                                                                             12
raiz.appendChild eleAluno
end sub




                             13
CONCLUSÃO
Neste trabalho, procurou-se ressaltar a importância da utilização da XML. Já
faz alguns anos que a área de TI se vê confrontada ao desafio da integração
das diferentes aplicações corporativas e dos sistemas legados.
Este quadro fez com que o W3C recomendasse a XML e todas as tecnologias
que giram em torno dela. Intensificou-se, entretanto, o esforço de integração e
racionalização dos processos de negócio.
A Internet, como facilitadora do processo, possibilitou o desenvolvimento de
arquiteturas de comunicação, disponibilizando parte das informações das
organizações, extrapolando as fronteiras corporativas. Os novos protocolos
web promovem o intercâmbio de documentos XML, com sofisticadas formas de
segurança.
Conclui-se que, com o mundo XML, de padrões abertos, torna-se mais simples
a implementação, do que a utilização de soluções tradicionais proprietárias.




                                                                               14
BIBLIOGRAFIA


http://pt.wikipedia.org/wiki/HTML

http://disciplinas.ist.utl.pt/leic-sod/2008-2009/labs/03-web-applications/SD%20-
%20tecnologias%20base%20WWW.pdf

http://www.youblisher.com/p/90181-Please-Add-a-Title/




                                                                               15

More Related Content

What's hot

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-USPUniversidade de São Paulo
 
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 NativoGPrimola
 
Apostila XML, DTD, XSD e XSLT
Apostila XML, DTD, XSD e XSLTApostila XML, DTD, XSD e XSLT
Apostila XML, DTD, XSD e XSLTRicardo Terra
 
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)Helder da Rocha
 
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 HTMLCésar Augusto Pessôa
 
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 - 1Vivian Motti
 
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 - 3Vivian Motti
 
Html E Websemantica Trabalho
Html E Websemantica TrabalhoHtml E Websemantica Trabalho
Html E Websemantica TrabalhoAdagenor Ribeiro
 
Html completo
Html completoHtml completo
Html completoEMSNEWS
 

What's hot (20)

Aula Introdução a Linguagem XML
Aula Introdução a Linguagem XMLAula Introdução a Linguagem XML
Aula Introdução a Linguagem XML
 
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
 
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
 
Curso de xml
Curso de xmlCurso de xml
Curso de xml
 
Introdução ao XML
Introdução ao XMLIntrodução ao XML
Introdução ao XML
 
01- Introdução ao XML
01- Introdução ao XML01- Introdução ao XML
01- Introdução ao 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)
 
Banco de Dados XML
Banco de Dados XMLBanco de Dados XML
Banco de Dados XML
 
15
1515
15
 
Java e XML
Java e XMLJava e XML
Java e XML
 
Aula1web html
Aula1web htmlAula1web html
Aula1web html
 
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
 
XML Schema (2002)
XML Schema (2002)XML Schema (2002)
XML Schema (2002)
 
Xml pucminas2013
Xml pucminas2013Xml pucminas2013
Xml pucminas2013
 
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
 
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
 
Html E Websemantica Trabalho
Html E Websemantica TrabalhoHtml E Websemantica Trabalho
Html E Websemantica Trabalho
 
Apostila html
Apostila htmlApostila html
Apostila html
 
Html completo
Html completoHtml completo
Html completo
 

Similar to Pós-Graduação em XML

Similar to Pós-Graduação em XML (20)

XML - Parte 1
XML - Parte 1XML - Parte 1
XML - Parte 1
 
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
 
Arquitetura: XML + RDF ate WebSemantica
Arquitetura: XML + RDF ate WebSemanticaArquitetura: XML + RDF ate WebSemantica
Arquitetura: XML + RDF ate WebSemantica
 
Curso XML - IBM Academic Initiative
Curso XML - IBM Academic InitiativeCurso XML - IBM Academic Initiative
Curso XML - IBM Academic Initiative
 
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
XmlXml
Xml
 
Ass web services_xml
Ass web services_xmlAss web services_xml
Ass web services_xml
 
XML - Introdução
XML - IntroduçãoXML - Introdução
XML - Introdução
 
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
 
XHTML
XHTMLXHTML
XHTML
 
XML, Webservice e RSS
XML, Webservice e RSSXML, Webservice e RSS
XML, Webservice e RSS
 
Codificações basicas em HTML e XML
Codificações basicas em HTML e XMLCodificações basicas em HTML e XML
Codificações basicas em HTML e XML
 
XML_WS.pdf
XML_WS.pdfXML_WS.pdf
XML_WS.pdf
 
XSL, XSL-FO e XSLT + XPath
XSL, XSL-FO e XSLT + XPathXSL, XSL-FO e XSLT + XPath
XSL, XSL-FO e XSLT + XPath
 
Programação web
Programação webProgramação web
Programação web
 
Metadados com XML
Metadados com XMLMetadados com XML
Metadados com XML
 
Webservices e Xml
Webservices e XmlWebservices e Xml
Webservices e Xml
 
Apoio1020 apostila html
Apoio1020 apostila htmlApoio1020 apostila html
Apoio1020 apostila html
 
Disciplina de Laboratório WEB
Disciplina de Laboratório WEBDisciplina de Laboratório WEB
Disciplina de Laboratório WEB
 

Pós-Graduação em XML

  • 1. PÓS-GRADUAÇÃO EM TECNOLOGIAS DA INFORMÁTICA E COMUNICAÇÃO 2011/2012 Trabalho Prático 4 – XML. Aluna: Joana Maria Dias da Costa, nº 3718
  • 2. Índice XML- conceito................................................................................................................................ 3 XML (Extensible Markup Language) .......................................................................................... 3 Características do XML .............................................................................................................. 3 XML versus HTML .......................................................................................................................... 4 Regras de Construção.................................................................................................................... 5 Regras de Sintaxe ...................................................................................................................... 5 SECÇÕES CDATA ........................................................................................................................ 8 Esquema DTD ............................................................................................................................ 9 Esquema XML Schema ............................................................................................................ 10 MODELOS DE PROCESSAMENTO................................................................................................. 11 SAX .......................................................................................................................................... 11 DOM ........................................................................................................................................ 12 CONCLUSÃO ................................................................................................................................ 14 BIBLIOGRAFIA .............................................................................................................................. 15 2
  • 3. XML- conceito XML (Extensible Markup Language) é uma recomendação da W3C para gerar linguagens de marcação para necessidades especiais. É um dos subtipos da SGML (acrônimo de Standard Generalized Markup Language, ou Linguagem Padronizada de Marcação Genérica) capaz de descrever diversos tipos de dados. Seu propósito principal é a facilidade de compartilhamento de informações através da internet. Entre linguagens baseadas em XML incluem-se XHTML (formato para páginas Web), RDF,SDMX ,SMIL, MathML (formato para expressões matemáticas), NCL, XBRL, XSIL e SVG (formato gráfico vetorial). A principal característica do XML, de criar uma infra-estrutura única para diversas linguagens, é que linguagens desconhecidas e de pouco uso também podem ser definidas sem maior trabalho e sem necessidade de ser submetidas aos comitês de padronização. Características do XML Em meados da década de 1990, o World Wide Web Consortium (W3C) começou a trabalhar em uma linguagem de marcação que combinasse a flexibilidade da SGML com a simplicidade da HTML. O princípio do projeto era criar uma linguagem que pudesse ser lida por software, e integrar-se com as demais linguagens. Sua filosofia seria incorporada por vários princípios importantes: Separação do conteúdo da formatação Simplicidade e legibilidade, tanto para humanos quanto para computadores Possibilidade de criação de tags sem limitação Criação de arquivos para validação de estrutura (chamados DTDs) Interligação de bancos de dados distintos Concentração na estrutura da informação, e não na sua aparência O XML é um formato para a criação de documentos com dados organizados de forma hierárquica, como se vê, frequentemente, em documentos de texto formatados, imagens vetoriais ou bancos de dados. 3
  • 4. Pela sua portabilidade, já que é um formato que não depende das plataformas de hardware ou de software, um banco de dados pode, através de uma aplicação, escrever em um arquivo XML, e um outro banco distinto pode ler então estes mesmos dados. XML versus HTML Em traços muito gerais o HTML é 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 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. Apesar de ser uma ferramenta fácil de usar e aprender, facto pelo qual se generalizou bastante o seu uso, verificam-se algumas desvantagens na utilização do HTML que se prendem com o facto de: os dados estarem dependentes da sua apresentação gráfica; não nos fornecer conteúdo semântico e ter um número limitado de etiquetas. 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 4
  • 5. 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. Regras de Construção As regras de construção englobam os seguintes itens: sintaxe, secções, CDATA, esquema DTD e XML schema. 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 5
  • 6. 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>Joana Costa</de> <para>João Costa</para> <assunto>Entrega de Prendas de Natal</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. 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 6
  • 7. ú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> 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"> 7
  • 8. - 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 é bemformado e respeita uma gramática definida por DTD ou XML Schema. 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 geradocumentos com interpretações ambíguas. Estes caracteres têm que ser substituídospor 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 sersubstituí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 "]]>": 8
  • 9. 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 "]]>" A sequência "]]>" também não pode ter espaços nem mudanças de linha no seu interior. Esquema DTD O DTD é um documento (esquema) que validará um documento XML. Lee e Chu apud Pinheiro (2003), em estudos comparativos para validação estrutural e sintática da XML, apontam vários fatores restritivos ao uso da DTD: sua sintaxe não é baseada ou derivada da XML, o que não permite que ela seja validada por um parser. as declarações da DTD são globais, não permitindo declarar elementos de mesmo nome em pontos distintos do documento; a DTD tem deficiências na especificação do tipo de dado dos elementos (inteiro, real, alfa-numérico, etc). Exemplo de uma DTD <!ELEMENT PRODUTOS ((PRODUTO))+> <!ELEMENT PRODUTO (NOME, FABRICANTE, PRECO)> <!ELEMENT FABRICANTE (FANTASIA, RAZAOSOCIAL, ENDERECO+)> <!ELEMENT ENDERECO (RUA, NUMERO, CIDADE, ESTADO, CEP)> <!ELEMENT NOME (#PCDATA)> <!ELEMENT PRECO (#PCDATA)> <!ELEMENT FANTASIA (#PCDATA)> 9
  • 10. <!ELEMENT RAZAOSOCIAL (#PCDATA)> <!ELEMENT RUA (#PCDATA)> <!ELEMENT NUMERO (#PCDATA)> <!ELEMENT CIDADE (#PCDATA)> <!ELEMENT ESTADO (#PCDATA)> <!ELEMENT CEP (#PCDATA)> <!ATTLIST PRECO MOEDA CDATA #REQUIRED PAIS CDATA #REQUIRED> <!ATTLIST FABRICANTE NACIONALIDADE CDATA "BRASILEIRA"> Esquema XML Schema As deficiências apontadas na DTD, foram suficientes para o W3C, em 2001, lançar e recomendar o XML Schema. Segundo Pinheiro (2003, p. 39), ―um Esquema XML tem por objetivo descrever a estrutura de um documento. Ele define os elementos existentes no documento, bem como sua ordem e os valores possíveis para os conteúdos‖. A figura a seguir mostra-nos um exemplo de um XML Schema. <?xml version="1.0" encoding="UTF-8"?> <!-- edited with XMLSPY v2004 rel. 2 (http://www.xmlspy.com) by Gestão e Desenvolvimento WEB --> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:element name="mensagem"/> <xs:element name="de" type="xs:string"> <xs:annotation> <xs:documentation>Comment describing your root element</xs:documentation> </xs:annotation> </xs:element> <xs:element name="assunto" type="xs:string"/> <xs:element name="para" type="xs:string"/> <xs:element name="data" type="xs:date"/> <xs:element name="texto" type="xs:string"/> 10
  • 11. </xs:schema> As principais características do XML Schema são explicadas por Pinheiro (2003): tem a mesma estrutura de um documento XML, ou seja, é uma aplicação XML, com o mesmo vocabulário,6 capaz de definir estruturalmente classes de documentos XML, e validá-las; namespaces (espaço de nomes): contextualiza um nome de elemento ou de atributo em um documento XML, ou seja, determina um escopo para os elementos declarados. Utilizando o espaço de nomes, passa a ser permitido a repetição de um nome de elemento em um documento XML, desde que esteja em escopos diferentes. Declaram-se os namespaces apontando uma URI (uniform resource identifier). A XML permite que se declarem vários namespaces em um único documento, para tal, identifica cada um separado pelo caracter dois pontos (―:‖), da palavra reservada xmlns. grande diversidade de tipos de elementos; Com relação à criação do XML Schema, temos um conjunto de regras determinadas pelo W3C, que são: definições básicas; estruturas; tipos de dados. 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. SAX SAX (Simple API for XML) não é um padrão do W3C. Existem diversos analisadores SAX, para diferentes linguagens de programação, dentre elas, Java, C++ e Delphi. As especificações SAX estão disponíveis publicamente. 11
  • 12. SAX é um analisador baseado em eventos – ele lê um fluxo de entrada XML. SAX é bastante simples, não exige muita memória e suporta namespace. Não é possível modificar um documento XML, pois SAX é somente de leitura. DOM DOM (document object model) é uma interface de programação de aplicação completa para documentos XML. Esta interface permite que clientes possamnavegar, acrescentar, modificar ou excluir documentos XML. DOM é relativamente pesado nos recursos, porém, ao contrário do SAX, armazena a estrutura completa do documento na memória. Como exemplo de uma implementação DOM muito popular nas plataformas Windows é o MSXML da Microsoft. A figura mostra-nos um exemplo de DOM: Set xmlDoc = CreateObject("Msxml2.DOMDocument.4.0") Set stylePI = xmlDoc.createProcessingInstruction("xml", "version=""1.0""") xmlDoc.appendChild(stylePI) Set root = xmlDoc.createElement("ALUNOS") xmlDoc.appendChild root AdicionaAluno "1", "Renato", root AdicionaAluno "2", "Paulo", root 10 AdicionaAluno "3", "Marcos", root AdicionaAluno "4", "Sérgio", root xmlDoc.save "c:alunos.xml" sub AdicionaAluno(id, nome, raiz) set eleAluno = xmlDoc.createElement("ALUNO") eleAluno.setAttribute "id", id set eleNome = xmlDoc.createElement("NOME") Set eleNomeConteudo = xmlDoc.createTextNode(nome) eleNome.appendChild eleNomeConteudo eleAluno.appendChild eleNome 12
  • 14. CONCLUSÃO Neste trabalho, procurou-se ressaltar a importância da utilização da XML. Já faz alguns anos que a área de TI se vê confrontada ao desafio da integração das diferentes aplicações corporativas e dos sistemas legados. Este quadro fez com que o W3C recomendasse a XML e todas as tecnologias que giram em torno dela. Intensificou-se, entretanto, o esforço de integração e racionalização dos processos de negócio. A Internet, como facilitadora do processo, possibilitou o desenvolvimento de arquiteturas de comunicação, disponibilizando parte das informações das organizações, extrapolando as fronteiras corporativas. Os novos protocolos web promovem o intercâmbio de documentos XML, com sofisticadas formas de segurança. Conclui-se que, com o mundo XML, de padrões abertos, torna-se mais simples a implementação, do que a utilização de soluções tradicionais proprietárias. 14