Linguagem XML

• O que é XML? eXtensible Markup Language • Linguagem de representação usando marcas como o HTML Marcas não pré-definidas. Precisam de ser definidas • XML usa DTD ou esquemas para definir os dados • Não FAZ NADA ! (Não executa) •XML Versus HTML: • XML é uma Linguagem de representação de Dados e foca o que são esses dados • HTML é uma Linguagem para visualizar Dados e foca em como se visualizam os dados
17/10/03 AIAD- LEIC Eugénio Oliveira

Linguagem XML
<nota> <de>Elsa</de> <para>Paula</para> <titulo>Aniversario</titulo> <conteudo>Não te esqueça s de comprar a prenda</conteudo> </nota>

17/10/03

AIAD- LEIC Eugénio Oliveira

17/10/03 AIAD.0" encoding="ISO-8859-1"?> <nota> <para>Paula</para> <de>Elsa</de> <titulo>Aniversario</titulo> <conteudo >Não te esqueças de comprar a prenda</conteudo> </nota> A primeira linha é uma Declaração XML dizendo a versão e código de caracteres.LEIC Eugénio Oliveira Linguagem XML Documentos XML usam sintaxe simples e auto-descritiva <?xml version="1. 2ªlinha é a raíz do documento Seguem-se quatro filhos da raíz Fim do elemento raíz Elementos são sensíveis às letras maiúsculas e minúsculas.Linguagem XML • Em XML os Dados podem estar fora do Programa XML • XML para trocar Dados entre sistemas diferentes • Dados Financeiros e B2B são trocados em XML • Dados ficam disponíveis para mais utilizadores independentemente do hardware e software usado.LEIC Eugénio Oliveira . Todas as marcas devem abrir e fechar e estar correctamente encaixados: <b><i>Este texto está em itálico e a grosso</i></b> 17/10/03 AIAD.

Correcto <?xml version="1.Incorrecto <?xml version="1...Linguagem XML <root> <child> <subchild>.LEIC Eugénio Oliveira .0" encoding="ISO-8859-1"?> <nota data=25/12/2003> <de>Elsa</de> <para>Paula</para> </nota> 2.LEIC Eugénio Oliveira Linguagem XML • Comentários em XML <!– Isto é um comentário --> • Podem usar-se editores normais mas existem editores próprios para XML • Documentos XML são extensíveis sem prejudicar aplicações anteriores: <nota> <de>Elsa</de> <para>Paula</para> <titulo>Aniversario</titulo> <conteudo>Não te esqueça s de comprar a prenda</conteudo> </nota> •Suponhamos que uma aplicação extraía estas marcas: MENSAGEM Para: Paula De: Elsa Assunto: Aniversário Conteúdo: Não te esqueças de comprar a prenda 17/10/03 AIAD.</subchild> </child> </root> Valores de Atributos devem estar entre aspas: 1...0" encoding="ISO-8859-1"?> <nota data=“25/12/2003"> <de>Elsa</de> <para>Paula</para> </nota> 17/10/03 AIAD.

Só o elemento prod tem atributos (id. Book é o elemento pai de title. Title. e chapter são elementos filhos de book. prod e chapter são irmãos.Linguagem XML Documento aumentado: <nota> <data>2003-12-25</data> <de>Elsa</de> <para>Paula</para> <titulo>aniversá rio</titulo> <conteúdo>Não te esqueça s de comprar a prenda</conteudo> </nota> A aplicação funcionaria de igual forma sem “crashar” 17/10/03 AIAD.LEIC Eugénio Oliveira Linguagem XML . prod. prod e chapter.LEIC Eugénio Oliveira RELAÇÕES: <book> <title>My First XML</title> <prod id="33-657" media="paper"></prod> <chapter>Introduction to XML <para>What is HTML</para> <para>What is XML</para> </chapter> <chapter>XML Syntax <para>Elements must have a closing tag</para> <para>Elements must be properly nested</para> </chapter> </book> Book elemento raíz. Title. media) com valores 33-657 e paper 17/10/03 AIAD.

gif</file> 17/10/03 AIAD.Linguagem XML No HTML (e XML) atributos dão informação sobre elementos: <img src="computer.gif"> <a href="demo.asp"> Atributos podem dar informa ção que não pertence aos dados Tipo de ficheiro só interessa ao software que vai manipular o ficheiro: <file type="gif">computer.LEIC Eugénio Oliveira .LEIC Eugénio Oliveira Linguagem XML Os 3 documentos XML seguintes tem a mesma informação: 1)Usa o Atributo data: <nota data=“25/12/2003"> <de>Elsa</de> <para>Paula</para> <título>Aniversário</título> <conteúdo>Não te esqueças da prenda</conteúdo> </nota> 2) Usa o Elemento data: <nota> <data> 25/12/2003 </data> <<de>Elsa</de> <para>Paula</para> <título>Aniversário</título> <conteúdo>Não te esqueças da prenda</conteúdo> </nota> 17/10/03 AIAD.

LEIC Eugénio Oliveira Linguagem XML Documentos XML devem ser: • Bem Formados (sintaxe correcta) • Válidos (de acordo com o DTD <?xml version="1.dtd"> <nota> <data> <dia>25</dia> <mês>12</mês> <ano>2003</ano> </data> <de>Elsa</de> <para>Paula</para> <título>Aniversário</título> <conteúdo>Não te esqueças da prenda</conteúdo> </nota> 17/10/03 AIAD.0" encoding="ISO-8859-1"?> <!DOCTYPE nota SYSTEM "InternalNote.Linguagem XML 3) Usa o Elemento expandido data: <nota> <data> <dia>25</dia> <mês>12</mês> <ano>2003</ano> </data> <de>Elsa</de> <para>Paula</para> <título>Aniversário</título> <conteúdo>Não te esqueças da prenda</conteúdo> </nota> 17/10/03 AIAD.LEIC Eugénio Oliveira .

repetições são marcadas Árvore de documento concreto tem ramos para cada ocorrência de elemento 17/10/03 AIAD.LEIC Eugénio Oliveira 17/10/03 .dtd" [ <!– O Resto do DTD de motor --> <! … > ]> AIAD.LEIC Eugénio Oliveira Linguagem XML USO DO DTD • • • • Sintetiza e armazena elementos comuns a um grupo de docs Base para aplicações que manipulam a info Base para folhas de estilo para apresentação de docs Base para ferramentas que conduzam o processo de edi ção de docs LOCALIZAÇÃO DO DTD • • • • No topo do doc que lhe é conforme Em ficheiro separado referido no topo do doc Parcialmente em ficheiro separado.Linguagem XML DTD Document Type Definition Modelo do documento Elementos permitidos Atributos dos elementos e valores por omissão Composição de elementos e sua sequência Modelo da árvore do documento Tem ramos para as opções. parcialmente no doc Referência a ficheiro do DTD <!DOCTYPE motor SYSTEM "D:\users\eco\motor.

carcaça.LEIC Eugénio Oliveira .DECLARAÇÕES NO DTD Linguagem XML ELEMENT definir marca ATTLIST definir atributos ENTITY definir entidade NOTATIONdefinir anotações para tipos de dados • Declarações no sub-conjunto interno podem sobrepor-se às do externo • Entidade referida mais que uma vez mantem a primeira definição • Subconjunto interno é processado antes do externo.. pistões)> <!ELEMENT enrolamento (#PCDATA | nº espiras | diâmetro)*> 17/10/03 . Exemplo <!-. fabricante. composição)> <!ELEMENT tipo (#PCDATA)> <!ELEMENT fabricante (#PCDATA)> <!ELEMENT composição (eléctrico | gasolina)> <!ELEMENT eléctrico (enrolamento. cilindros. AIAD. tampa)> <!ELEMENT gasolina (carburador.declarações para os elementos --> <!ELEMENT motor (tipo. composição)> • PCDATA Parsable Character Data <!ELEMENT texto (#PCDATA)> • Conteúdo misto – PCDATA é primeira expressão – Grupo tem de ser uma escolha <!ELEMENT endereço (#PCDATA | nome | lugar)*> 17/10/03 AIAD..LEIC Eugénio Oliveira Linguagem XML •Declaração de elemento •Texto em elemento <!ELEMENT motor (tipo. fabricante. núcleo..

secção*)> <!ELEMENT secção (%comum.date> </dateline> </body. ID. Colombia</location> <story. #FIXED • Permite identificar blocos comuns que podem ser usados repetidamente <!ENTITY % comum "(parag|lista|tabela)"> • Uso (no ficheiro XML) <!ELEMENT capitulo ((%comum. ENTITY. Enumerado. NMTOKEN. IDREFS. IDREF. Associated Press Writer</bytag></byline> <dateline> <location>Bogota.head> <headline> <hl1> 143 Dead in Colombia Earthquake</hl1> </headline> <byline > <bytag>By Jared Kotler.date>Monday January 25 1999 7:28 ET</story. ENTITIES. #REQUIRED. NMTOKENS • Classes – #IMPLIED.LEIC Eugénio Oliveira 17/10/03 Linguagem XML • Exemplo de Documento XML sobre Notícias: <?xml version="1.0" encoding="ISO-8859-1"?> <news> <head> <title>Colombia Earthquake</title> </head> <body> <body.)*.head> </body> </news> 17/10/03 AIAD.LEIC Eugénio Oliveira .•Declaração de atributos Linguagem XML •Entidade paramétrica no DTD <!ATTLIST entrada tipo (pessoa | empresa) "pessoa" ident ID #REQUIRED> • Sintaxe <!ATTLIST elem-id att1-id att1-tipo att1-class att1-omissão • Tipos – CDATA. NOTATION.)*> AIAD.

BYLINE.BODY.LEIC Eugénio Oliveira .LEAD.Linguagem XML • Exemplo de DTD sobre Notícias: <!DOCTYPE NEWSPAPER [ <!ELEMENT NEWSPAPER(ARTICLE+)> <!ELEMENT ARTICLE(HEADLINE.NOTES)> <!ELEMENT HEADLINE(#PCDATA)> <!ELEMENT BYLINE(#PCDATA)> <!ELEMENT LEAD(#PCDATA)> <!ELEMENT BODY(#PCDATA)> <!ELEMENT NOTES(#PCDATA)> <ATTLIST ARTICLE AUTHOR CDATA #REQUIRED> <ATTLIST ARTICLE EDITOR CDATA #IMPLIED> <ATTLIST ARTICLE DATE CDATA #IMPLIEDED> <ATTLIST ARTICLE EDITION CDATA #IMPLIED> <!ENTITY NEWSPAPER “FINANCIAL TIMES”> <!ENTITY COPYRIGHT “Copyright 2003 a empresa dona do jornal”> ]> 17/10/03 AIAD.

Sign up to vote on this title
UsefulNot useful