View
108
Download
0
Category
Preview:
Citation preview
XMLExtended Markup Language
Wagner Meira Jr.
O que é?
XML é uma linguagem para documentação estruturada.
Documentos Estruturados contém não apenas conteúdo (palavras, imagens) como também a função do conteúdo.
XML vs. HTML
• HTML: conjunto e semântica de tags pré-definidos– <H1> e <ati.product.code>
• XML: meta-linguagem para descrever linguagens de marcação.– XML provê recursos para para definir tags e as
relações estruturais entre elas.– Toda a semântica vem de aplicações ou estilos
XML vs. SGML
• SGML é o padrão OSI para documentação estruturada.
• XML é um “perfil de aplicação” de SGML.
• XML é muito mais restrito que SGML.
• SGML permite estruturas arbitrárias, mas a dificuldade de implementação é muito grande para que navegadores a suportem.
XML: Objetivos
• Uso de XML na Internet deve ser trivial.– Deve ser possível visualizar documentos tão
fácil e rapidamente quanto em HTML.
• XML deve suportar várias aplicações.
• XML deve ser compatível com SGML.
• Programas para processar documentos XML devem ser fáceis de implementar.
XML:Objetivos• O número de recursos opcionais em XML
deve ser mínimo, idealmente zero.• O projeto do padrão XML deve ser rápido.• O projeto de XML deve ser formal e conciso.• Documentos XML devem ser simples de
criar.• Concisão na marcação não é importante.
XML: Componentes
• XML: define a sintaxe de XML.
• XLL: define um padrão de representação de referências entre recursos.
• XSL: define uma linguagem de descrição de estilos para XML.
• XUA: Padroniza a criação de agentes XML.
Exemplo XML
<?XML version=“1.0”?>
<oldjoke>
<burns>Say<quote>goodnight </quote>, Gracie. </burns>
<allen>Goodnight, Gracie</allen>
<applause/>
</oldjoke>
Marcadores XML
• Elementos
• Referências a entidades
• Comentários
• Instruções de Processamento
• Seções Formatadas
• Declarações de Tipos de Documentos
Elementos
• Marcação mais comum
• Delimitados por < e >
• Exemplos:– <element> bla bla bla </element>– <element/>
Atributos
• Pares nome-valor que caracterizam o elemento
• Em XML, todos os atributos devem vir entre aspas.
• Exemplo:– <div class=“preface”>
Referências a Entidades
• Utilizadas para representar caracteres especiais:– < = “– > = ”– & = &– Caracteres Unicode: ℞ ou ℞
Comentários
• Não são processados pelo interpretador XML
• Início: <!--
• Fim: -->
Instruções de Processamento
• Recurso para prover informações para uma aplicação
• Não são parte do documento XML, mas são passados às aplicações
• Instruções não reconhecidas são ignoradas
• Formato:– <?name pidata?>
Seções CDATA
• Desabilita as marcações
• Exemplo:
<![CDATA[
*p= &q;
b = (I <=3);
]]>
Declaração de Tipos de Documentos
• Permite a criação de Tags
• Permite definição de semântica diferenciada
• Tipos:– Declarações de elementos– Declarações de listas de atributos– Declarações de entidades– Declarações de notação
Exemplo
DTD: Exemplo
<?xml version="1.0" ?><!DOCTYPE PurchaseOrder [ <!ELEMENT PurchaseOrder (Customer,Supplier,Order)> <!ELEMENT Customer Supplier (Name,Address*)> <!ELEMENT Order (Item+)> <!ELEMENT Name Item Address (#PCDATA)> <!ENTITY ctp "Cambridge Technology Partners"><!ATTLIST Customer uid ID #REQUIRED ><!ATTLIST Order cid IDREF #REQUIRED >]>
DTD: Exemplo
<PurchaseOrder> <Customer uid="C0023416"> <Name>&ctp;</Name> <Address>304 Vassar St.,Cambridge,MA</Address> </Customer> <Supplier> <Name>Computer And Printer Paradise</Name> <Address>45 Seabreeze Dr., Miami, FL</Address> </Supplier > <Order cid="C0023416"> <Item>A brown hat</Item> </Order></PurchaseOrder>
Declarações de Elementos
• Exemplo:– <!ELEMENT Customer Supplier (Name,Address*)>
– <!ELEMENT Order (Item+)>
– <!ELEMENT Name Item Address (#PCDATA)>
• Declarações para todos os elementos usados devem estar no DTD
• Definição especial #PCDATA indicando string• Dois outros modelos de conteúdo
– Empty
– Any (desaconselhável)
Declarações de Atributos
• Exemplo:– <!ATTLIST Customer uid ID #REQUIRED >
– <!ATTLIST Order cid IDREF #REQUIRED >
• Tipos:– CDATA: strings genéricas
– ID: nome único no documento
– IDREF: conjuntos de Ids
– ENTITY: nome de uma entidade
– NMTOKEN: uma única palavra
– Lista de nomes: enumeração de valores possíveis
Declarações de Atributos
• Valores padrão:– #REQUIRED: deve ser instanciado para cada ocorrência
– #IMPLIED: não é obrigatório e não há valor padrão
– “value”: o valor dado é o padrão para cada ocorrência
– #FIXED “value”: Se o atributo ocorrer deve ter o valor especificado
Declarações de Entidade
• Permitem associar nomes com outros fragmentos do documento: – Texto
– Parte do DTD
– Arquivo Externo
• Exemplo:– <!ENTITY ctp "Cambridge Technology Partners">
Entidades Internas
• Podem incluir referências para outras entidades, mas não podem ser recursivas.
• Entidades pré-definidas:– < = <– > = >– & = &– &apos = ‘– " = “
Entidades Externas
• A referência à entidade causa a inserção do arquivo indicado.
• Entidades externas podem ser texto ou binárias
Entidades Parametrizadas
• Podem ocorrer apenas dentro do DTD
• É identificada por <%> antes do seu nome
• Funcionam como macros, sendo imediatamente expandidas na DTD.
Declarações de Notação
• Identificam tipos binários externos específicos.
• Informação é passada para a aplicação.
• Exemplo:– <!NOTATION GIF87A SYSTEM “GIF”>
Tipos de documentos
• Documentos bem formados:– Compiláveis por XML
• Documentos Válidos– Possuem um DTD e o seguem
Vantagens
• Flexível
• Auto-contida
• Portável
• Fácil de utilizar
• Robusta
• Legível
Desvantagens
• Tamanho
• Custo de processamento
• Complexidade
Recommended