Tp 4 xml

476 views
405 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
476
On SlideShare
0
From Embeds
0
Number of Embeds
64
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Tp 4 xml

  1. 1. PÓS-GRADUAÇÃO EM TECNOLOGIAS DA INFORMÁTICA E COMUNICAÇÃO 2011/2012Trabalho Prático 4 – XML. Aluna: Joana Maria Dias da Costa, nº 3718
  2. 2. ÍndiceXML- conceito................................................................................................................................ 3 XML (Extensible Markup Language) .......................................................................................... 3 Características do XML .............................................................................................................. 3XML versus HTML .......................................................................................................................... 4Regras de Construção.................................................................................................................... 5 Regras de Sintaxe ...................................................................................................................... 5 SECÇÕES CDATA ........................................................................................................................ 8 Esquema DTD ............................................................................................................................ 9 Esquema XML Schema ............................................................................................................ 10MODELOS DE PROCESSAMENTO................................................................................................. 11 SAX .......................................................................................................................................... 11 DOM ........................................................................................................................................ 12CONCLUSÃO ................................................................................................................................ 14BIBLIOGRAFIA .............................................................................................................................. 15 2
  3. 3. XML- conceitoXML (Extensible Markup Language) é uma recomendação da W3C paragerar linguagens de marcação para necessidades especiais.É um dos subtipos da SGML (acrônimo de Standard Generalized MarkupLanguage, ou Linguagem Padronizada de Marcação Genérica) capaz dedescrever diversos tipos de dados. Seu propósito principal é a facilidade decompartilhamento de informações através da internet.Entre linguagens baseadas em XML incluem-se XHTML (formato para páginasWeb), RDF,SDMX ,SMIL, MathML (formato para expressões matemáticas),NCL, XBRL, XSIL e SVG (formato gráfico vetorial). A principal característica doXML, de criar uma infra-estrutura única para diversas linguagens, é quelinguagens desconhecidas e de pouco uso também podem ser definidas semmaior trabalho e sem necessidade de ser submetidas aos comitês depadronização.Características do XMLEm meados da década de 1990, o World Wide Web Consortium (W3C)começou a trabalhar em uma linguagem de marcação que combinasse aflexibilidade da SGML com a simplicidade da HTML. O princípio do projeto eracriar uma linguagem que pudesse ser lida por software, e integrar-se com asdemais linguagens. Sua filosofia seria incorporada por vários princípiosimportantes: 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ênciaO XML é um formato para a criação de documentos com dados organizados deforma hierárquica, como se vê, frequentemente, em documentos de textoformatados, imagens vetoriais ou bancos de dados. 3
  4. 4. Pela sua portabilidade, já que é um formato que não depende das plataformasde hardware ou de software, um banco de dados pode, através de umaaplicação, escrever em um arquivo XML, e um outro banco distinto pode lerentão estes mesmos dados.XML versus HTMLEm traços muito gerais o HTML é identificado por um conjunto de códigos quepermitem representar graficamente um determinado documento, através deuma formatação baseada num esquema de etiquetas (tags) que,posteriormente, são interpretadas pelos browsers. Tal como o HTML, o XMLtambé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 quecada etiqueta e atributo especificam, o XML usa as etiquetas apenas paradelimitar blocos de dados e deixa a interpretação dos mesmos para aaplicação. Assim, em função do contexto programático, um <p> que em HTMLsignifica sempre um novo parágrafo, pode em XML significar um preço, umapessoa, ou o que nós desejarmos.Apesar de ser uma ferramenta fácil de usar e aprender, facto pelo qual segeneralizou bastante o seu uso, verificam-se algumas desvantagens nautilização do HTML que se prendem com o facto de: os dados estaremdependentes da sua apresentação gráfica; não nos fornecer conteúdosemântico e ter um número limitado de etiquetas.O HTML especifica a formatação gráfica de um documento, enquanto que oXML especifica a estrutura de dados. Com o XML, não estamos limitados aetiquetas predefinidas, podemos criar a nossa estrutura e definir umainterpretação para essa estrutura, sempre disponível no nosso sistemainformático.O XML é uma tecnologia de conteúdos alternativa e também complementar aoHTML, que vai provavelmente rivalizar mais com os formatos proprietários dearmazenamento de documentos, do que propriamente com o HTML. Por seraltamente adaptável aos dados que pretende descrever, por facilitar ainteracçã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 viaelectrónica.Relativamente ao HTML, o XML trás grandes vantagens na sua utilização. Paraalém da possibilidade de definição de novas marcas e etiquetas à medida dosutilizadores e de um maior controlo sobre a aplicação de formatações e daforma como estas aparecem nos browsers, o utilizador do XML fica com acerteza de publicar os seus documentos num formato standard (independentedos fabricantes de software), facilmente interpretável por múltiplas aplicações eem certa medida, auto-explicativo.Regras de ConstruçãoAs regras de construção englobam os seguintes itens: sintaxe, secções,CDATA, esquema DTD e XML schema.Regras de SintaxeAs regras de sintaxe da XML são bastante simples, mas devem ser seguidasrigorosamente pelos interpretadores. Deste modo, estes programas podem sermenos 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 respeitarrigorosamente 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. Estadeclaração define a versão da XML e a codificação de caracteres utilizada. Noexemplo, a versão é a 1.0 e o código de caracteres é o ISO-8859-1 (Latin-1/West European).A declaração XML faz parte da estrutura do documento, mas não é umelemento, sendo que para diferenciar, a sintaxe da declaração utiliza —<? ...?>― em vez de―<...>―. Uma outra diferença é que a declaração não tem umaetiqueta de fecho correspondente.O código de caracteres utilizado define a maneira como os diferentescaracteres que compõem o documento XML são representados no ficheiro.Caso sejam utilizados caracteres fora do código definido, o interpretador geraum erro ao ler o ficheiro. Alguns valores frequentes para esta definição são —UTF-8―, —UTF-16― (correspondentes a Transformações Unicode).- Osdocumentos 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 oselementos 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 etiquetasrespectivas: <x>Incorrecto <x>Correcto</x>- Os elementos estão correctamente ordenados quando as etiquetas abrem efecham 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 seuelemento 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ãocorresponde à etiqueta de fecho (diferem na primeira letra), o que já nãoacontece 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 elementodiz-se válido se é bemformado e respeita uma gramática definida por DTD ouXML Schema.SECÇÕES CDATATodo 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çãogeradocumentos com interpretações ambíguas. Estes caracteres têm que sersubstituídospor entidades referenciais (começadas pelo caracter "&" eterminadas pelo carácter ";").Os caracteres ilegais XML são ―<‖ e ―&‖ quedevem ser substituídos por &lt; e &amp;, respectivamente. Existem outroscaracteres, que apesar de não serem ilegais, também devem ser substituídospara 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ãointerpretadas, 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ãopodem conter as sequências de caracteres "<![CDATA[" ou "]]>"A sequência "]]>" também não pode ter espaços nem mudanças de linha noseu interior.Esquema DTDO DTD é um documento (esquema) que validará um documento XML. Lee eChu apud Pinheiro (2003), em estudos comparativos para validação estruturale 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 SchemaAs deficiências apontadas na DTD, foram suficientes para o W3C, em 2001,lançar e recomendar o XML Schema. Segundo Pinheiro (2003, p. 39), ―umEsquema XML tem por objetivo descrever a estrutura de um documento. Eledefine os elementos existentes no documento, bem como sua ordem e osvalores possíveis para os conteúdos‖. A figura a seguir mostra-nos um exemplode um XML Schema.<?xml version="1.0" encoding="UTF-8"?><!-- edited with XMLSPY v2004 rel. 2 (http://www.xmlspy.com) by Gestão e DesenvolvimentoWEB --><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 rootelement</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 PROCESSAMENTOExistem 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 nabiblioteca de programação utilizada.SAX SAX (Simple API for XML) não é um padrão do W3C. Existem diversosanalisadores 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 entradaXML. 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 deaplicação completa para documentos XML. Esta interface permite que clientespossamnavegar, acrescentar, modificar ou excluir documentos XML. DOM érelativamente pesado nos recursos, porém, ao contrário do SAX, armazena aestrutura completa do documento na memória. Como exemplo de uma implementação DOM muito popular nasplataformas Windows é o MSXML da Microsoft. A figura mostra-nos umexemplo 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 rootAdicionaAluno "1", "Renato", rootAdicionaAluno "2", "Paulo", root10AdicionaAluno "3", "Marcos", rootAdicionaAluno "4", "Sérgio", rootxmlDoc.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 eleAlunoend sub 13
  14. 14. CONCLUSÃONeste 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çãodas diferentes aplicações corporativas e dos sistemas legados.Este quadro fez com que o W3C recomendasse a XML e todas as tecnologiasque giram em torno dela. Intensificou-se, entretanto, o esforço de integração eracionalização dos processos de negócio.A Internet, como facilitadora do processo, possibilitou o desenvolvimento dearquiteturas de comunicação, disponibilizando parte das informações dasorganizações, extrapolando as fronteiras corporativas. Os novos protocolosweb promovem o intercâmbio de documentos XML, com sofisticadas formas desegurança.Conclui-se que, com o mundo XML, de padrões abertos, torna-se mais simplesa implementação, do que a utilização de soluções tradicionais proprietárias. 14
  15. 15. BIBLIOGRAFIAhttp://pt.wikipedia.org/wiki/HTMLhttp://disciplinas.ist.utl.pt/leic-sod/2008-2009/labs/03-web-applications/SD%20-%20tecnologias%20base%20WWW.pdfhttp://www.youblisher.com/p/90181-Please-Add-a-Title/ 15

×