XML Extended Markup Language Wagner Meira Jr.. O que é? XML é uma linguagem para documentação...

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:– < = &ldquo;– > = &rdquo;– & = &amp;– Caracteres Unicode: &#8478 ou &#x211E

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:– &lt = <– &gt = >– &amp = &– &apos = ‘– &quot = “

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