Estrutura Lógica DTD

Documentos relacionados
Linguagem XML. Linguagem XML

Um documento XML possui Unidade lógica - os elementos Usuário "inventa" as marcas através de DTDs

GERÊNCIA DE DADOS SEMIESTRUTURADOS -DTD. Prof. Angelo Augusto Frozza, M.Sc.

Programação para Internet I 4. XML. Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt

XML para transferência de dados Estrutura hierárquica do XML DTDs e XML Schema Consultas de documentos XML: XPath e XQuery Transformação de

Programação para Internet I Aulas 10 e 11

5a. Aula - XML

XML Schema. Vanessa de Paula Braganholo ftp://metropole/pub/curso/xml/index.html. Janeiro de XML Schema

XML XML. XML extensible Markup Language HTML. Motivação. W3C: World Wide Web Consortium XML 1.0. Mário Meireles Teixeira DEINF-UFMA

CONTEÚDO PROGRAMÁTICO

Introdução XML. Vanessa Braganholo

extensible Markup Language (XML) XML é uma linguagem de anotação. XML utiliza tags para descrever informação.

ALGORITMOS 3ª Aula. 3. Introdução Tipos de dados, variáveis e operadores Tipos de dados

Prof. A. G. Silva. 28 de agosto de Prof. A. G. Silva INE5603 Introdução à POO 28 de agosto de / 1

XML Schema. Um XML schema descreve a estrutura de um documento XML.

XML: uma introdução prática X100. Helder da Rocha

Guia de Bolso HTML e XHTML

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) XML Origens. HTML Problemas

XML. 1. XML: Conceitos Básicos. 2. Aplicação XML: XHTML 3. Folhas de Estilo em Cascata XML

Transformação de documentos XML

Arquivo de retorno Pagamento Eletrônico B2B Formato XML

Folha 3 - Análise léxica

Compiladores. Conceitos Básicos

Transformação de Documentos XML em Bases de Dados Relacionais Utilizando ASP.NET

INTRODUÇÃO AO MODELO RELACIONAL

Introdução. Definição. Validação. Universo XML. Apresentação. Processamento. Prof. Enzo Seraphim. Banco de Dados

Compiladores - Análise Léxica

Análise Sintática. Fabiano Baldo

LINGUAGEM C: FUNÇÕES FUNÇÃO 08/01/2018. Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa.

Extensible Markup Language (XML) Júnio César de Lima Cedric Luiz de Carvalho. Instituto de Informática Universidade Federal de Goiás

Aplicação de XML para Estruturação de Ambientes de Controle Acadêmico baseado em Ontologias

Informática Parte 22 Prof. Márcio Hunecke

Introdução à Programação Estruturada Parte 3. Material da Prof. Ana Eliza

XML e JAVA no Desenvolvimento de um Editor de Fórmulas do Cálculo de Predicados

Compiladores - Análise Léxica

Definição da Sintaxe Abstrata de Potigol em XML

LINGUAGEM C: FUNÇÕES FUNÇÃO 04/07/2017. Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa.

A sintaxe básica para definir uma função é: function nome_da_função([arg1, arg2, arg3]) { Comandos;... ; [return <valor de retorno>]; }

XML (extensible Markup Language)

José Carlos Ramalho Alda Reis Lopes Pedro Rangel Henriques

Compiladores I Prof. Ricardo Santos (cap 3 Análise Léxica: Introdução, Revisão LFA)

XML (extensible Markup Language)

Compiladores. Análise lexical. Plano da aula. Motivação para análise lexical. Vocabulário básico. Estrutura de um compilador

A Linguagem XML (& Markup Languages)

Algoritmos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi

IV.2 Aspectos Léxicos Convencionais

3. Linguagem de Programação C

Conceitos Básicos de Algoritmos

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Introdução de XML. Dados da Web. Gerência de Dados da Web. A Web representa, nos dias de hoje, um repositório universal de dados, onde:

Conceitos Básicos. Professor: Juliano Lucas Gonçalves.

INE BDNC. Bancos de Dados XML

Disciplina: LINGUAGENS FORMAIS, AUTÔMATOS E COMPUTABILIDADE Prof. Jefferson Morais

Identificadores Nome de variáveis, constantes, métodos, etc...

XTHML. 2. A finalidade do XHTML é substituir o HTML; 3. Vantagens de se usar XHTML (Compatibilidade com futuras aplicações);

XMLs E INTEGRAÇÃO COM BANCOS DE DADOS

Pseudolinguagem. BC0501 Linguagens de Programação t2 Aula 11. Prof. Alysson Ferrari ufabc.edu.br

Transcrição:

Estrutura Lógica DTD Carina Dorneles dorneles@inf.ufrgs.br http://www.inf.ufrgs.br/ dorneles DTD

Introdução DTD - Document Type Definition Conjunto de regras que definem a estrutura do documento Hierarquia e granularidade Elementos que podem ser usados Onde podem ser aplicados (relações entre documentos) DTD 1

Validação de documentos Documento bem-formado ( well-formed document ) Documento XML construído de acordo com as regras básicas de XML (cada rótulo de inicio corresponde a um rótulo de fim, aninhamento de elementos é correto,... ) Documento válido ( valid document ) Documento XML bem-formado e com sintaxe conforme uma DTD DTD 2

Exemplos de DTDs registros médicos enciclopédias catálogos de produto jornais propostas dicionários relatórios técnicos contratos políticas e procedimentos artigos científicos livros ordens de compra recibos / notas revistas normas / regulamentos manuais de usuário normas de referência DTD 3

Declaração Subconjunto Interno DTD Subconjunto Externo DTD DTD 4

Estrutura da DTD Composta por declarações. Utiliza a sintaxe <!... > Definição de elemento <!ELEMENT...> Definição de atributos <!ATTLIST...> Definição de entidades <!ENTITY...> Definição de notação de tipos <!NOTATION...> DTD 5

Declarações São agrupadas dentro de uma declaração de tipo de documento: <!DOCTYPE livro [ <!... > <!... > <!... > ]> No exemplo, livro é o elemento raíz do documento DTD 6

Declaração de Elementos Definir um elemento e especificar o conteúdo permitido. Ex.: <!ELEMENT titulo (...)> Pode ser vazio (geralmente usado para imagens) <!ELEMENT imagem EMPTY> DTD 7

Declaração de Elementos (cont.) Pode conter quaisquer elementos declarados na DTD: <!ELEMENT p ANY> Na prática é pouco usado permite muita liberdade, descaracterizando um documento semiestruturado DTD 8

Controle de Sequência Conector de sequência. Usa o conector ",". Ex.: <!ELEMENT artigo (titulo, autor, seção)> Conector de escolha. Usa o conector " ". Ex.: <!ELEMENT endereço (instituição cidade)> DTD 9

Controle de Seqüência Ao misturar os conectores de seleção e de escolha, usar parênteses. Por exemplo: <!ELEMENT palavra (a,(b c))> Exemplo ambíguo <!ELEMENT palavra (a,b c)> DTD 10

Controle de Quantidade Elemento opcional sem repetição: "?" <!ELEMENT autor (primnome, segnome?, tercnome)> Elemento requerido e com repetição "+" <!ELEMENT autor (email+)> Elemento opcional e com repetição "*" <!ELEMENT parágrafo (figura*)> DTD 11

Uso de texto Quando um elemento é composto por texto: <!ELEMENT titulo(#pcdata)> Palavra reservada: #PCDATA (Parsable Character Data) DTD 12

Conteúdo misto Elemento pode conter tanto texto quanto elementos. Regra: PCDATA deve obrigatoriamente ser o primeiro token no grupo grupo deve ser de escolha, opcional e com repetição <!ELEMENT paragrafo (#PCDATA Subpar Superpar)*> DTD 13

Ambiguidade Ambiguidade surge quando o elemento encontrado na entrada de dados corresponde a mais de um token no modelo. Exemplo: <!ELEMENT lista(item?, item)> Um elemento item encontrado na entrada corresponde a qual dos elementos de lista? DTD 14

Ambiguidade Quando o primeiro elemento do grupo for o mesmo. Por exemplo: <!ELEMENT item ((empresa, empregado) (empresa, cliente))> Correto: <!ELEMENT item (empresa,(empregado cliente))> DTD 15

Elementos podem ter atributos Declaração de Atributos Atributos são declarados separadamente dos elementos, em uma declaração de lista de atributos Parâmetros: nome do elemento, nome de atributo, tipo de atributo Exemplo (atributos de autor): <!ATTLIST autor codigo CDATA e-mail CDATA sexo ( F M ) > DTD 16

Tipos de Atributos CDATA - cadeia de caracteres - aceita quando não há uma DTD NMTOKEN (NMTOKENS) - mesma lei de formação de um nome de atributo ENTITY (ENTITIES) - valor do atributo é uma referência a uma entidade DTD 17

Atributo obrigatório Atributo que deve estar presente cada vez que o elemento é usado. Utiliza-se a palavra reservada #REQUIRED <!ATTLIST autor codigo CDATA #REQUIRED> DTD 18

Atributo opcional Atributo que pode estar ausente cada vez que o elemento é usado. Aplicação pode assumir algum valor default. Utiliza-se a palavra reservada #IMPLIED <!ATTLIST autor e-mail CDATA #IMPLIED> DTD 19

Valor default Atributos podem ter valores default Se o atributo não aparecer quando o elemento for usado, valor default. <!ATTLIST autor sexo ( F M ) "F"> DTD 20

Declarações múltiplas Um elemento pode ter mais de uma declaração de lista de atributos. Exemplo: <!ATTLIST livro id ID #REQUIRED> tipo (romance policial) #REQUIRED>...... <!ATTLIST livro tipo (pocket normal) "normal"> autor CDATA #IMPLIED> A lista de atributos é combinada No caso de haver atributo com o mesmo nome, a primeira declaração é a que vale! Não é aconselhável o uso!!! DTD 21

Entidades de parâmetro Autor de documento pode usar entidades para evitar repetições desnecessárias Autor de DTD pode usar entidades de parâmetro para evitar repetições desnecessárias DTD 22

Entidades de parâmetro Definição de entidade de parâmetro <!ENTITY % comum "(paragrafo lista tabela)" > Dentro da declaração de elemento: <!ELEMENT capitulo - - ((%comum;)*, seção*) > <!ELEMENT seção - - ((%comum;)*) > Procurar utilizar "()"para separar o quantificador Utilizar exclusivamente em DTD DTD 23

Seções Condicionais Porções da DTD podem ser consideradas opcionais. Esta característica é fornecida pelo uso de seções condicionais DTD 24

Seções Condicionais As seções que serão consideradas pelo processador XML devem ser marcadas como uma seção incluída. Por exemplo <![INCLUDE [............ ]]> Para que ela não seja processada pelo processador XML, a palavra IN- CLUDE deve ser trocada por IGNORE, marcando uma seção ignorada: <![IGNORE [............ ]]> DTD 25

Seções Condicionais Entidades podem ser utilizadas para seções condicionais ENTITY % MeuPadrao "INCLUDE"> ENTITY % MinhaVariante "IGNORE"> DTD 26

Declaração de Notação Um elemento pode conter dados que não são XML. Neste caso, é necessário o uso de notação. Por exemplo: <!NOTATION Tex...... > Forma mínima (quando não existe aplicação para processar os dados): <!NOTATION PIXI SYSTEM ""> Quando não existe aplicação para processar os dados: <!NOTATION TIFF SYSTEM "c:/apps/show_tiff.exe"> DTD 27

Uso de Notação <!NOTATION TeX SYSTEM "..\TEXVIEW.EXE"> <!ENTITY Logo SYSTEM "LOGO.TEX" NDATA TeX> DTD 28

Processamento da DTD Quando um documento XML não possui DTD (caracterizando-o como um documento bem-formado) existem algumas restrições no uso de marcação: Atributos não podem ter valor default Todos os atributos são considerados CDATA Todos os atributos são considerados OPCIONAIS Entidades não podem ser definidas DTD 29