O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
PÓS-GRADUAÇÃO EM TECNOLOGIAS DA
        INFORMÁTICA E COMUNICAÇÃO
                            2011/2012
Trabalho Prático 4...
Índice
XML- conceito.........................................................................................................
XML- conceito
XML (Extensible Markup Language) é uma recomendação da W3C para
gerar linguagens de marcação para necessidad...
Anúncio
Anúncio
Anúncio
Próximos SlideShares
XML
XML
Carregando em…3
×

Confira estes a seguir

1 de 15 Anúncio

Mais Conteúdo rRelacionado

Diapositivos para si (20)

Semelhante a Tp 4 xml (20)

Anúncio

Mais recentes (20)

Tp 4 xml

  1. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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
  13. 13. raiz.appendChild eleAluno end sub 13
  14. 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
  15. 15. 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

×