XML (eXtensible Markup Language) por Rafael Port da Rocha ... ?· XML - eXtensible Markup Language ⇒XML…

  • View
    212

  • Download
    0

Embed Size (px)

Transcript

  • XML (eXtensible Markup Language)

    por

    Rafael Port da Rocha

    (Notas de Aula)

    2007

  • XML - eXtensible Markup Language

    Introcuo

    Componentes de um Documento Eletrnico DigitalContedo: formado pelas informaes que o documento transmite aos seus leitores, como seu ttulo, seus autores, seu texto, etc.Estrutura: organizao da informaoApresentao/Estilo: formada por elementos que indicam como o contedo ser apresentado quando o documento eletrnico for visualizado, isto , so elementos que indicam como o documento ser formatado (tipo de letra, cor de letra, localizao do ttulo, tabulaes, etc.)

    Linguagem de Marcao (Markup Language) Linguagem atravs da qual marcas (tags) descrevem

    o significado de cada entidade informacional de um documento

    Exemplos de Marcaes: Jos da Silva

    Marcao na linguagem HTML que indica que Jos da Silva deve ser exibido na forma de item: Jos da Silva

    Jos da Silva Marcao na linguagem XML que indica que o

    texto Jos da Silva significa um nome de pessoa

    Notas de Aula - Rafael Port da Rocha - 2007

  • XML - eXtensible Markup Language

    XML (eXtensible Markup Language) Padro para definio, validao e compartilhamento de

    informao formatada em um documento eletrnico A informao estruturada atravs de marcaes

    (tags): Exemplo: IIK1040

    IIK1040 uma informao marcada por

    A marcao inicia por , encerra por e contm como contedo IKK1040

    As marcaes definem o significado das informaes contidas no documento XML, permitindo que este documento seja trocado por sistemas de informao em um ambiente de comrcio eletrnico B2B

    Exemplo: IIK1040 A marcao indica que a informao IIK1040 corresponde a uma placa de automvel

    Marcaes podem conter marcaes, formando um documento com uma estrutura complexa Exemplo:

    IIK1040 VW Fusca 1981 Antonio Carlos ac@netxxx.com.br

    Notas de Aula - Rafael Port da Rocha - 2007

  • XML - eXtensible Markup Language

    Documentos XML so usados tanto para troca de informaes entre sistemas de informao (Comrcio eletrnico B2B),

    DocXML Computador

    BComputador

    A

    Notas de Aula - Rafael Port da Rocha - 2007

  • XML - eXtensible Markup Language

    Estrutura de um documento XML Um documento XML formado por elementos e

    atributos Em um documento XML:

    Um elemento formado pelo par inicio e fim de marcao:

    IJD9090

    Onde: o incio de marcao, o fim de marcao, e IJD9090 o contedo

    Um elemento pode conter texto e/ou outros elementos

    Joaquim Manuel joam@xxx.com.Br

    O elemento Proprietrio contm os elementos Nome e Localizao

    O elemento Nome contm o texto Joaquim Manuel O elemento Localizao contm o texto joam@xxx.com.Br

    Um atributo uma informao adicional associada ao elemento. Fica junto ao incio de marcao do elemento

    1000,00 O atributo Moeda, do elemento Valor, informa

    que o contedo est em Reais

    Notas de Aula - Rafael Port da Rocha - 2007

  • XML - eXtensible Markup Language

    IJD9090 VW Brasilia 1981 Jose da Silva jsilva@zzz.com.br Rua A 123 Santa Maria 1000,00 IKK1010 VW Variant 1970 Joaquim Manuel joam@xxx.com.br IIK1040 VW Fusca 1981 Antonio Carlos ac@netxxx.com.br

    Notas de Aula - Rafael Port da Rocha - 2007

  • XML - eXtensible Markup Language

    Cometrios do Exemplo um documento que contm descries de veculos Contm o elemento inicial: RegistroDeVeiculos

    ....

    O elemento RegistroDeVeiculos contm trs elementos Veiculo

    ... ... ...

    Cada elemento Veiculo contm os elementos Placa, Modelo, AnoFabricacao, Proprietario e Valor.

    ... ... ... ... ...

    Os elementos Placa, Modelo, Moeda e AnoFabricao contm texto em seu contedo

    O elemento Valor possui o atributo Moeda, que indica a moeda do valor

    O elemento Valor opcional, no est representado nos veculos IKK1010 e IIK1040.

    Notas de Aula - Rafael Port da Rocha - 2007

  • XML - eXtensible Markup Language

    O elemento Proprietrio contm o elemento Nome e vrios elementos Localizao.

    O proprietrio do veculo IJD9090 possui duas localizaes, e os proprietrios dos veculos IKK1010 e IIK1040 possuem uma nica localizao cada.

    O elemento Localizao construdo de duas formas Primeira: contm um texto como valor

    joam@xxx.com.br

    Segunda: contm o elemento endereo

    Rua A 123 Santa Maria

    O elemento Endereo contm os elementos Rua, Numero e Cidade

    Notas de Aula - Rafael Port da Rocha - 2007

  • XML - eXtensible Markup Language

    DTD (Document Type Definition) Um DTD um documento que define as regras para a

    construo de um documento XML, isto , define quais os tipos de elementos que podem ser usados no documento, e maneira com que elementos destes tipos podem ser combinados

    No DTD, uma regra deve ser definida para especificar como deve ser construdo cada tipo de elemento :

    Tipo de Elemento Regra (Contedos possveis para um elemento do tipo)

    Veculo Placa seguido deModelo seguido deAnoFabricacao seguido deProprietario seguido deValor (que opcional)

    Placa TextoModelo TextoAnoFabricacao TextoValor Texto, com o atributo MoedaPriprietrio Nome seguido de um ou mais

    elementos LocalizacaoNome TextoLocalizacao Vrias ocorrncias de:

    Texto ou elemento Endereco

    Endereco Rua, seguido de Numero seguido deCEP (que opcional) seguido de Cidade

    Rua TextoNumero TextoCidade TextoCEP TextoRegistroDeVeiculos Zero ou mais elementos

    Veiculo

    Notas de Aula - Rafael Port da Rocha - 2007

  • XML - eXtensible Markup Language

    Uma regra possui o seguinte formato:

    Onde: TipoDoElemento indica um tipo de elemento

    possvel no documento ContedosPossveis indica quais os contedos

    possveis para este tipo de elemento

    Exemplo de DTD para o XML de veculos

    (Real | Dollar | Euro) #REQUIRED >

    Notas de Aula - Rafael Port da Rocha - 2007

  • XML - eXtensible Markup Language

    Comentrios sobre o exemplo:

    Proprietario, Valor? )> significa que: o tipo de elemento Veculo deve conter Placa, seguido de Modelo, seguido de AnoFabricacao, seguido de Proprietario, seguido de Valor, que opcional (smbolo ? indica opcional, smbolo , indica seguido de).

    significa que o tipo de elemento Placa deve conter

    texto como valor

    significa que: RegistroDeVeiculos deve conter zero ou

    mais elementos Veiculo (smbolo * indica zero ou mais)

    significa que: Proprietario deve conter Nome seguido de

    um ou mais elementos Localizao (smbolo + indica um ou mais)

    significa que: Localizacao deve conter zero ou mais

    ocorrncias de texto ou Endereco (smbolo * indica zero ou mais, smbolo | indica ou)

    significa que o elemento Valor deve conter o atributo Moeda, e que o valor do atributo moeda deve ser: Real ou Dollar ou Euro.

    Notas de Aula - Rafael Port da Rocha - 2007

  • XML - eXtensible Markup Language

    Documento XML bem formado

    Um documento XML dito bem formado quando suas marcaes esto corretas, isto , de esto de acordo com a linguagem de marcao de XML

    Documento bem formado: abc

    Documento que no bem formado: abc

    Erro: O elemento encerra por e o elemento encerra por

    Documento que no bem formado abc de

    Erro: O elemento no encerrado

    Notas de Aula - Rafael Port da Rocha - 2007

  • XML - eXtensible Markup Language

    Documento XML Vlido Um documento XML dito vlido quando bem

    formado e obedece as regras de um DTD, isto , as elementos esto de acordo com as regras estabelecidas no DTD

    Exemplo: sendo um DTD com as seguintes regras

    O seguinte documento bem formado e vlido para o DTD definido acima

    bla bla bla bla

    O seguinte documento bem formado, mas no vlido para o DTD definido acima

    bla bla bla

    Erro: A primeira ocorrncia de no vlida, pois deve conter os elementos e

    Notas de Aula - Rafael Port da Rocha - 2007

  • XML - eXtensible Markup Language

    Parsers so programas que verificam se um documento XML est vlido para um DTD

    Doc.XML

    Doc.DTD

    Doc.XMLbem

    formadoe vlido

    ParserXML

    Notas de Aula - Rafael Port da Rocha - 2007

  • XML - eXtensible Markup Language

    Sintaxe da linguagem DTD Declarao de Elemento:

    Modelo de contedo Indica os elementos que podem ocorrer no

    contedo do elemento declarado Contm indicadores de ocorrncia dos elementos

    que podem ocorrer no contedo do elemento declarado

    A? = uma ou zero ocorr. de AA* = zero ou mais ocorr. de AA+ = uma ou mais ocorr. de AA|B = ocorre A ou BA,B = ocorre A seguido por B#PCDATA = ocorre cadeia de caracteresANY = contedo um elemento vazioANY = ocorrncia de qualquer elemento do DTD

    Declarao de atributo

    Exemplos de Tipos Exemplos de v