SlideShare una empresa de Scribd logo
1 de 33
Descargar para leer sin conexión
Linguagem para Organização e
Transferência de dados para Web.
Prof. Rudson Kiyoshi S. Carvalho
Anhanguera - 2015
Parte - 2 DTD
DTD
Document Type Definition
Definição de Tipo de Documento
Introdução
• Um DTD (Document Type Definition) especifica um conjunto
de regras que define a estrutura de um documento XML.
• O DTD pode aparecer no topo do XML (no prólogo) ou em
um documento separado.
<?xml version=“1.0” ?>
<!DOCTYPE noRaiz [
…
]>
<?xml version=“1.0” ?>
<!DOCTYPE noRaiz SYSTEM
"meuDTD.dtd">
Declarações de um DTD
note.dtd
• Os DTDs são uma ótima maneira para garantir a
consistência dos dados XML compartilhados entre
diferentes pessoas e empresas. Podemos utilizar
um DTD para validar se o documento XML enviado
por um terceiro está formado adequadamente
antes de tentarmos utiliza-lo.
DTD - Utilização
• Declaração de um conjunto de elementos. Você não
pode utilizar outros elementos que não estejam
definidos neste documento.
• Defini quais os elementos ou dados que aquele
determinado elemento XML pode conter, em qual
ordem, quantidade e se é opcional ou obrigatório.
• Declara um conjunto de atributos para cada elemento.
Cada declaração de atributo define o nome, tipo
(datatype), valores padrões (se aplicável), e
comportamento (obrigatório ou opcional).
Exemplo Prático
Construindo um DTD
Construindo um DTD
• Para criarmos um elemento no DTD devemos
utilizar a TAG <!ELEMENT> e ela deve ser
declarada sempre com todas as letras em
maiúsculas.
<!ELEMENT nóDocumento especElemento>
Declaração de um Elemento
• No exemplo acima declaramos que nosso XML
deverá conter o elemento (nó) “destinatario” e a
especificação entre parênteses (#PCDATA) Parsed
Character Data especifica que este elemento terá
um valor do tipo texto e um processador XML
deverá analisar ou apenas verificar a existência
deste valor.
<!ELEMENT destinatario (#PCDATA) >
Definição de um elemento que contenha texto.
Elemento
• No exemplo acima declaramos que nosso XML deverá conter
o elemento (nó) “tamanho” e o mesmo sera um elemento
vazio, podendo apenas trabalhar com conjuntos de atributos.
• Nota: EMPTY não utiliza parênteses como o (#PCDATA).
• Exemplo XML:
<!ELEMENT tamanho EMPTY >
Definição de um elemento vazio.
Elemento
• No exemplo acima declaramos que nosso XML
deverá conter o elemento (nó) “pedido” e o mesmo
terá um único elemento numero.
• Exemplo XML:
<!ELEMENT pedido (numero) >
Definição de um elemento que contenha um filho.
Elemento
• No exemplo acima declaramos que nosso XML deverá
conter o elemento (nó) “endereco” e o mesmo terá os
filhos cep, rua, numero, bairro, complemento, cidade e
uf.
• Exemplo XML:
<!ELEMENT endereco (cep, rua, numero, bairro
complemento, cidade, uf) >
Definição de um elemento que contenha filhos diferentes.
Elemento - Qualificadores
• O * indica que o nó filho pedido pode se repetir
zero ou muitas vezes.
• Exemplo XML:
<!ELEMENT pedidos (pedido*) >
Definição de um elemento várias ocorrências de um filho.
Elemento - Qualificadores
• O + indica que o nó filho pedido pode se repetir
uma ou muitas vezes, porém, é necessário existir
uma ocorrência no mínimo..
• Exemplo XML:
<!ELEMENT pedidos (pedido+) >
Definição de um elemento várias ocorrências de um filho.
Elemento - Qualificadores
• O ? indica que o nó filho pedido pode aparecer no
máximo uma ou nenhuma vez.
• Exemplo XML:
<!ELEMENT pedidos (pedido?) >
Definição de um elemento única ocorrência de um filho.
Reforçando Qualificador
• * Significa zero ou mais vezes
• + Significa uma ou mais vezes
• ? Significa zero ou uma vez
apenas
• Nota: Um elemento sem
qualificador deverá aparecer
uma única vez.
Elementos Opcionais
• O | indica que o nó "transacao" pode conter um nó
filho transferencia ou um nó filho estorno.
• Exemplo XML:
<!ELEMENT transacao (transferencia | estorno) >
Em alguns casos podemos precisar de um elemento XML
ou de outro.
ou
Elementos Opcionais
• O | indica que o nó "transacao" pode conter um nó
filho transferencia ou um nó filho estorno.
• Exemplo XML:
<!ELEMENT estoria ((titulo, conteudo)
| (titulo, resumo, conteudo)) >
Em alguns casos podemos precisar de um elemento XML
ou de outro.
ou
Elemento Indefinido
• O ANY define que o nó "estrutura" poderá receber
qualquer coisa, como novos elementos, textos,
sem um suporte a uma estrutura fechada.
<!ELEMENT estrutura ANY >
Definição de um elemento que pode aceitar qualquer
coisa.
Resumo de Qualificadores
• , -> Descreve uma sentença obrigatória de elementos. Também funciona como operador E
(AND). Exemplo: A,B significa que B deve vir depois de A. B seguido de A não é permitido.
• | -> Descreve uma alternativa, funciona como o operador OU (OR). Exemplo: A|B|C significa que
qualquer elemento é aceitável. Apenas uma opção é permitida, você deve escolher entre um
dos três elementos.
• ( ) -> Agrupa o conteúdo. Você pode usar a quantidade e parênteses que for preciso. Exemplo:
( A | B ), C significa que você deve escolher entre A ou B, e este deve ser seguido por um C.
Portanto, tanto A C e B C são permitidos.
• ? -> Descreve uma sentença opcional. Exemplo: A ? significa que você pode escolher se vai
usar ou não o elemento A.
• + -> Requere que pelo menos uma vez o elemento seja declarado, e não limite de quantas
vezes este se repete. Exemplo: (A|B)+ significa que deve haver um número positivo e diferente
de zero de As ou Bs. A sequência ABBBAAA é válida.
• * -> Significa que o elemento pode aparecer várias vezes, não tendo limite, e também é
opcional. Exemplo: (A|B)* significa que a sequência pode ter tamanho zero e pode ter inúmeros
elementos A ou B.
Atributos
Atributos
• Atributos podem ser úteis para fornecer dados
adicionais sobre um elemento. As informações
contidas em atributo tendem a ser sobre o
conteúdo do documento XML, e não são o
conteúdo em si.
• Um atributo só pode aparecer num documento
XML válido se ele for declarado.
Definição de um Atributo
• Esta definição diz que o elemento “peso” pode
conter um atributo unidade que é opcional por
causa do #IMPLIED, e que contem texto devido ao
uso do CDATA.
<!ELEMENT peso (#PCDATA) >
<!ATTLIST peso unidade CDATA #IMPLIED>
Definição de um Atributo
• Esta definição diz que o elemento “peso” pode
conter um atributo unidade que é obrigatório por
causa do #REQUIRED, e que contem texto devido
ao uso do CDATA.
<!ELEMENT peso (#PCDATA) >
<!ATTLIST peso unidade CDATA #REQUIRED>
Quais dos XMLs abaixo são
validos para o DTD?
A. <peso>40</peso>
B. <peso unidade=“Kg">40</peso>
C. <peso unidade="40">Kg</peso>
<!ELEMENT peso (#PCDATA) >
<!ATTLIST peso unidade CDATA #REQUIRED>
Atributo com Valor Padrão
• Esta definição diz que o elemento “peso” pode
conter um atributo unidade e que seu valor padrão
é Kg.
<!ELEMENT peso (#PCDATA) >
<!ATTLIST peso unidade CDATA "Kg">
Atributo com Valor Padrão
• Esta definição diz que o elemento “peso” contém
um atributo unidade e que seu valor padrão é Kg.
<!ELEMENT peso (#PCDATA) >
<!ATTLIST peso unidade CDATA "Kg" #REQUIRED>
Atributo com Valor Padrão
• Esta definição especificamos que o nó cliente
sempre terá um atributo codigo.
<!ELEMENT cliente (nome, documento, endereco) >
<!ATTLIST cliente codigo CDATA #REQUIRED>
Entidades
Entidades no DTD
• Entidades são como entradas ou atalhos. Com
uma entidade você define seu nome e o texto pelo
qual ela será substituída.
Entidade
• A entidade copyright define um texto padrão que será apresentado,
toda vez que a entidade seja referenciada num documento XML
• Exemplo:
<conteudo> Este texto é de conteúdo…
&copyright; </conteudo>
<!ENTITY copyright "copyright 1995, Companhia das
Letras, [2008]" >
Limitações
• Não obedecem a sintaxe XML e requer que os
analisadores de sintaxe suportem uma linguagem
adicional.
• Não suportam Namespaces.
• Não possuem definição de tipos de dados (inteiro,
string, data, etc…), o que reduz a capacidade de
validação.
• Possuem capacidade limitada para definir a quantidade
de elementos filhos que um elemento pai pode ter.

Más contenido relacionado

La actualidad más candente

Aula 4 - Teste de mesa
Aula 4 - Teste de mesaAula 4 - Teste de mesa
Aula 4 - Teste de mesa
Pacc UAB
 

La actualidad más candente (20)

Aula 06 - Diagrama de classes
Aula 06 - Diagrama de classesAula 06 - Diagrama de classes
Aula 06 - Diagrama de classes
 
Banco de Dados II Aula Prática 1 (Conversão do modelo conceitual para modelo ...
Banco de Dados II Aula Prática 1 (Conversão do modelo conceitual para modelo ...Banco de Dados II Aula Prática 1 (Conversão do modelo conceitual para modelo ...
Banco de Dados II Aula Prática 1 (Conversão do modelo conceitual para modelo ...
 
Aula 4 banco de dados
Aula 4   banco de dados Aula 4   banco de dados
Aula 4 banco de dados
 
Introdução ao HTML e CSS
Introdução ao HTML e CSSIntrodução ao HTML e CSS
Introdução ao HTML e CSS
 
Modelagem de Dados
Modelagem de DadosModelagem de Dados
Modelagem de Dados
 
Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)
Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)
Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)
 
Front End x Back End
Front End x Back EndFront End x Back End
Front End x Back End
 
Apresentação Projeto Banco de Dados MER
Apresentação Projeto Banco de Dados MERApresentação Projeto Banco de Dados MER
Apresentação Projeto Banco de Dados MER
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POO
 
Introdução CSS
Introdução CSSIntrodução CSS
Introdução CSS
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 
Estrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentaisEstrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentais
 
Aula03 PHP - Estruturas Condicionais
Aula03 PHP - Estruturas CondicionaisAula03 PHP - Estruturas Condicionais
Aula03 PHP - Estruturas Condicionais
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVA
 
Aula 4 - Teste de mesa
Aula 4 - Teste de mesaAula 4 - Teste de mesa
Aula 4 - Teste de mesa
 
Modelo conceitual fisico_logico_er[1]
Modelo conceitual fisico_logico_er[1]Modelo conceitual fisico_logico_er[1]
Modelo conceitual fisico_logico_er[1]
 
Estrutura de Dados - Aula 01 - Apresentação
Estrutura de Dados - Aula 01 - ApresentaçãoEstrutura de Dados - Aula 01 - Apresentação
Estrutura de Dados - Aula 01 - Apresentação
 
Xml ppt
Xml pptXml ppt
Xml ppt
 
Programação Orientada a objetos em Java
Programação Orientada a objetos em JavaProgramação Orientada a objetos em Java
Programação Orientada a objetos em Java
 
Modelo E-R
Modelo E-RModelo E-R
Modelo E-R
 

Similar a Aula de DTD Definição do Tipo de Documento

Desevolvimento Web Client-side - HTML
Desevolvimento Web Client-side - HTMLDesevolvimento Web Client-side - HTML
Desevolvimento Web Client-side - HTML
Guilherme
 

Similar a Aula de DTD Definição do Tipo de Documento (20)

Document Type Definition
Document Type DefinitionDocument Type Definition
Document Type Definition
 
Dtd
DtdDtd
Dtd
 
Introdução HTML_CSS.pptx
Introdução  HTML_CSS.pptxIntrodução  HTML_CSS.pptx
Introdução HTML_CSS.pptx
 
Introdução à XML - Serviço de Biblioteca da EEFE-USP
Introdução à XML - Serviço de Biblioteca da EEFE-USPIntrodução à XML - Serviço de Biblioteca da EEFE-USP
Introdução à XML - Serviço de Biblioteca da EEFE-USP
 
Minicurso HTML
Minicurso HTMLMinicurso HTML
Minicurso HTML
 
Introdução à MEAN Stack
Introdução à MEAN StackIntrodução à MEAN Stack
Introdução à MEAN Stack
 
Aplicando Transformação em XML usando XSLT e XSL-FO - 1
Aplicando Transformação em XML usando XSLT e XSL-FO - 1Aplicando Transformação em XML usando XSLT e XSL-FO - 1
Aplicando Transformação em XML usando XSLT e XSL-FO - 1
 
Desevolvimento Web Client-side - HTML
Desevolvimento Web Client-side - HTMLDesevolvimento Web Client-side - HTML
Desevolvimento Web Client-side - HTML
 
XML - Parte 2
XML - Parte 2XML - Parte 2
XML - Parte 2
 
Banco de Dados XML
Banco de Dados XMLBanco de Dados XML
Banco de Dados XML
 
XHTML Básico
XHTML BásicoXHTML Básico
XHTML Básico
 
WebDesign AULA 2: Introdução a HTML
WebDesign AULA 2: Introdução a HTMLWebDesign AULA 2: Introdução a HTML
WebDesign AULA 2: Introdução a HTML
 
1ª aula php
1ª aula php1ª aula php
1ª aula php
 
Pro php and xml web services xml canonical
Pro php and xml web services   xml canonicalPro php and xml web services   xml canonical
Pro php and xml web services xml canonical
 
Curso de XHTML
Curso de XHTMLCurso de XHTML
Curso de XHTML
 
Aula II - Criação de sites I
Aula II - Criação de sites IAula II - Criação de sites I
Aula II - Criação de sites I
 
Apresentação - HTML5 e CSS3 Fabrica do Design
Apresentação - HTML5 e CSS3 Fabrica do DesignApresentação - HTML5 e CSS3 Fabrica do Design
Apresentação - HTML5 e CSS3 Fabrica do Design
 
Conceitos inicias de banco de dados Mysql
Conceitos inicias de banco de dados MysqlConceitos inicias de banco de dados Mysql
Conceitos inicias de banco de dados Mysql
 
Html
HtmlHtml
Html
 
Programação Web com HTML e CSS
Programação Web com HTML e CSSProgramação Web com HTML e CSS
Programação Web com HTML e CSS
 

Más de Rudson Kiyoshi Souza Carvalho

Más de Rudson Kiyoshi Souza Carvalho (15)

Aula Xml Schema - XSD
Aula Xml Schema - XSDAula Xml Schema - XSD
Aula Xml Schema - XSD
 
Aula 4- Engenharia de Software
Aula 4- Engenharia de SoftwareAula 4- Engenharia de Software
Aula 4- Engenharia de Software
 
Aula 3 - Engenharia de Software
Aula 3 - Engenharia de SoftwareAula 3 - Engenharia de Software
Aula 3 - Engenharia de Software
 
Aula 2 - Processos de Software
Aula 2 - Processos de SoftwareAula 2 - Processos de Software
Aula 2 - Processos de Software
 
Engenharia de Software Aula 1 - Intro
Engenharia de Software Aula 1 - IntroEngenharia de Software Aula 1 - Intro
Engenharia de Software Aula 1 - Intro
 
Aula MS Project Gestão de Projetos
Aula MS Project Gestão de ProjetosAula MS Project Gestão de Projetos
Aula MS Project Gestão de Projetos
 
Aula Gestão de Projetos Escopo, Tempo e Custo
Aula Gestão de Projetos Escopo, Tempo e CustoAula Gestão de Projetos Escopo, Tempo e Custo
Aula Gestão de Projetos Escopo, Tempo e Custo
 
Aula Gestão de Projetos
Aula Gestão de ProjetosAula Gestão de Projetos
Aula Gestão de Projetos
 
Marketing inteligente
Marketing inteligenteMarketing inteligente
Marketing inteligente
 
Data Warehouse - Modelagem
Data Warehouse - ModelagemData Warehouse - Modelagem
Data Warehouse - Modelagem
 
Business Intelligence - Data Warehouse
Business Intelligence - Data WarehouseBusiness Intelligence - Data Warehouse
Business Intelligence - Data Warehouse
 
Maven introdução Muito Rápida
Maven introdução Muito RápidaMaven introdução Muito Rápida
Maven introdução Muito Rápida
 
Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho
Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. CarvalhoAula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho
Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho
 
Introdução ao banco de dados
Introdução ao banco de dadosIntrodução ao banco de dados
Introdução ao banco de dados
 
Palestra Anhanguera de Business intelligence. Prof Rudson Kiyoshi S. Carvalho
Palestra Anhanguera de Business intelligence. Prof Rudson Kiyoshi S. CarvalhoPalestra Anhanguera de Business intelligence. Prof Rudson Kiyoshi S. Carvalho
Palestra Anhanguera de Business intelligence. Prof Rudson Kiyoshi S. Carvalho
 

Último

República Velha (República da Espada e Oligárquica)-Sala de Aula.pdf
República Velha (República da Espada e Oligárquica)-Sala de Aula.pdfRepública Velha (República da Espada e Oligárquica)-Sala de Aula.pdf
República Velha (República da Espada e Oligárquica)-Sala de Aula.pdf
LidianeLill2
 
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
azulassessoria9
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
azulassessoria9
 
Aprender as diferentes formas de classificar as habilidades motoras é de extr...
Aprender as diferentes formas de classificar as habilidades motoras é de extr...Aprender as diferentes formas de classificar as habilidades motoras é de extr...
Aprender as diferentes formas de classificar as habilidades motoras é de extr...
azulassessoria9
 
Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemática
sh5kpmr7w7
 
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
Autonoma
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
azulassessoria9
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
azulassessoria9
 

Último (20)

Quiz | Dia da Europa 2024 (comemoração)
Quiz | Dia da Europa 2024  (comemoração)Quiz | Dia da Europa 2024  (comemoração)
Quiz | Dia da Europa 2024 (comemoração)
 
República Velha (República da Espada e Oligárquica)-Sala de Aula.pdf
República Velha (República da Espada e Oligárquica)-Sala de Aula.pdfRepública Velha (República da Espada e Oligárquica)-Sala de Aula.pdf
República Velha (República da Espada e Oligárquica)-Sala de Aula.pdf
 
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
Sopa de letras | Dia da Europa 2024 (nível 1)
Sopa de letras | Dia da Europa 2024 (nível 1)Sopa de letras | Dia da Europa 2024 (nível 1)
Sopa de letras | Dia da Europa 2024 (nível 1)
 
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
aprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubelaprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubel
 
Aprender as diferentes formas de classificar as habilidades motoras é de extr...
Aprender as diferentes formas de classificar as habilidades motoras é de extr...Aprender as diferentes formas de classificar as habilidades motoras é de extr...
Aprender as diferentes formas de classificar as habilidades motoras é de extr...
 
Missa catequese para o dia da mãe 2025.pdf
Missa catequese para o dia da mãe 2025.pdfMissa catequese para o dia da mãe 2025.pdf
Missa catequese para o dia da mãe 2025.pdf
 
Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemática
 
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
 
Acessibilidade, inclusão e valorização da diversidade
Acessibilidade, inclusão e valorização da diversidadeAcessibilidade, inclusão e valorização da diversidade
Acessibilidade, inclusão e valorização da diversidade
 
Falando de Física Quântica apresentação introd
Falando de Física Quântica apresentação introdFalando de Física Quântica apresentação introd
Falando de Física Quântica apresentação introd
 
apostila filosofia 1 ano 1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
apostila filosofia 1 ano  1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...apostila filosofia 1 ano  1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
apostila filosofia 1 ano 1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
 
6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx
 
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxMonoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
 
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
 
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docGUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
 

Aula de DTD Definição do Tipo de Documento

  • 1. Linguagem para Organização e Transferência de dados para Web. Prof. Rudson Kiyoshi S. Carvalho Anhanguera - 2015 Parte - 2 DTD
  • 3. Introdução • Um DTD (Document Type Definition) especifica um conjunto de regras que define a estrutura de um documento XML. • O DTD pode aparecer no topo do XML (no prólogo) ou em um documento separado. <?xml version=“1.0” ?> <!DOCTYPE noRaiz [ … ]> <?xml version=“1.0” ?> <!DOCTYPE noRaiz SYSTEM "meuDTD.dtd">
  • 4. Declarações de um DTD note.dtd
  • 5. • Os DTDs são uma ótima maneira para garantir a consistência dos dados XML compartilhados entre diferentes pessoas e empresas. Podemos utilizar um DTD para validar se o documento XML enviado por um terceiro está formado adequadamente antes de tentarmos utiliza-lo.
  • 6. DTD - Utilização • Declaração de um conjunto de elementos. Você não pode utilizar outros elementos que não estejam definidos neste documento. • Defini quais os elementos ou dados que aquele determinado elemento XML pode conter, em qual ordem, quantidade e se é opcional ou obrigatório. • Declara um conjunto de atributos para cada elemento. Cada declaração de atributo define o nome, tipo (datatype), valores padrões (se aplicável), e comportamento (obrigatório ou opcional).
  • 9. Construindo um DTD • Para criarmos um elemento no DTD devemos utilizar a TAG <!ELEMENT> e ela deve ser declarada sempre com todas as letras em maiúsculas. <!ELEMENT nóDocumento especElemento>
  • 10. Declaração de um Elemento • No exemplo acima declaramos que nosso XML deverá conter o elemento (nó) “destinatario” e a especificação entre parênteses (#PCDATA) Parsed Character Data especifica que este elemento terá um valor do tipo texto e um processador XML deverá analisar ou apenas verificar a existência deste valor. <!ELEMENT destinatario (#PCDATA) > Definição de um elemento que contenha texto.
  • 11. Elemento • No exemplo acima declaramos que nosso XML deverá conter o elemento (nó) “tamanho” e o mesmo sera um elemento vazio, podendo apenas trabalhar com conjuntos de atributos. • Nota: EMPTY não utiliza parênteses como o (#PCDATA). • Exemplo XML: <!ELEMENT tamanho EMPTY > Definição de um elemento vazio.
  • 12. Elemento • No exemplo acima declaramos que nosso XML deverá conter o elemento (nó) “pedido” e o mesmo terá um único elemento numero. • Exemplo XML: <!ELEMENT pedido (numero) > Definição de um elemento que contenha um filho.
  • 13. Elemento • No exemplo acima declaramos que nosso XML deverá conter o elemento (nó) “endereco” e o mesmo terá os filhos cep, rua, numero, bairro, complemento, cidade e uf. • Exemplo XML: <!ELEMENT endereco (cep, rua, numero, bairro complemento, cidade, uf) > Definição de um elemento que contenha filhos diferentes.
  • 14. Elemento - Qualificadores • O * indica que o nó filho pedido pode se repetir zero ou muitas vezes. • Exemplo XML: <!ELEMENT pedidos (pedido*) > Definição de um elemento várias ocorrências de um filho.
  • 15. Elemento - Qualificadores • O + indica que o nó filho pedido pode se repetir uma ou muitas vezes, porém, é necessário existir uma ocorrência no mínimo.. • Exemplo XML: <!ELEMENT pedidos (pedido+) > Definição de um elemento várias ocorrências de um filho.
  • 16. Elemento - Qualificadores • O ? indica que o nó filho pedido pode aparecer no máximo uma ou nenhuma vez. • Exemplo XML: <!ELEMENT pedidos (pedido?) > Definição de um elemento única ocorrência de um filho.
  • 17. Reforçando Qualificador • * Significa zero ou mais vezes • + Significa uma ou mais vezes • ? Significa zero ou uma vez apenas • Nota: Um elemento sem qualificador deverá aparecer uma única vez.
  • 18. Elementos Opcionais • O | indica que o nó "transacao" pode conter um nó filho transferencia ou um nó filho estorno. • Exemplo XML: <!ELEMENT transacao (transferencia | estorno) > Em alguns casos podemos precisar de um elemento XML ou de outro. ou
  • 19. Elementos Opcionais • O | indica que o nó "transacao" pode conter um nó filho transferencia ou um nó filho estorno. • Exemplo XML: <!ELEMENT estoria ((titulo, conteudo) | (titulo, resumo, conteudo)) > Em alguns casos podemos precisar de um elemento XML ou de outro. ou
  • 20. Elemento Indefinido • O ANY define que o nó "estrutura" poderá receber qualquer coisa, como novos elementos, textos, sem um suporte a uma estrutura fechada. <!ELEMENT estrutura ANY > Definição de um elemento que pode aceitar qualquer coisa.
  • 21. Resumo de Qualificadores • , -> Descreve uma sentença obrigatória de elementos. Também funciona como operador E (AND). Exemplo: A,B significa que B deve vir depois de A. B seguido de A não é permitido. • | -> Descreve uma alternativa, funciona como o operador OU (OR). Exemplo: A|B|C significa que qualquer elemento é aceitável. Apenas uma opção é permitida, você deve escolher entre um dos três elementos. • ( ) -> Agrupa o conteúdo. Você pode usar a quantidade e parênteses que for preciso. Exemplo: ( A | B ), C significa que você deve escolher entre A ou B, e este deve ser seguido por um C. Portanto, tanto A C e B C são permitidos. • ? -> Descreve uma sentença opcional. Exemplo: A ? significa que você pode escolher se vai usar ou não o elemento A. • + -> Requere que pelo menos uma vez o elemento seja declarado, e não limite de quantas vezes este se repete. Exemplo: (A|B)+ significa que deve haver um número positivo e diferente de zero de As ou Bs. A sequência ABBBAAA é válida. • * -> Significa que o elemento pode aparecer várias vezes, não tendo limite, e também é opcional. Exemplo: (A|B)* significa que a sequência pode ter tamanho zero e pode ter inúmeros elementos A ou B.
  • 23. Atributos • Atributos podem ser úteis para fornecer dados adicionais sobre um elemento. As informações contidas em atributo tendem a ser sobre o conteúdo do documento XML, e não são o conteúdo em si. • Um atributo só pode aparecer num documento XML válido se ele for declarado.
  • 24. Definição de um Atributo • Esta definição diz que o elemento “peso” pode conter um atributo unidade que é opcional por causa do #IMPLIED, e que contem texto devido ao uso do CDATA. <!ELEMENT peso (#PCDATA) > <!ATTLIST peso unidade CDATA #IMPLIED>
  • 25. Definição de um Atributo • Esta definição diz que o elemento “peso” pode conter um atributo unidade que é obrigatório por causa do #REQUIRED, e que contem texto devido ao uso do CDATA. <!ELEMENT peso (#PCDATA) > <!ATTLIST peso unidade CDATA #REQUIRED>
  • 26. Quais dos XMLs abaixo são validos para o DTD? A. <peso>40</peso> B. <peso unidade=“Kg">40</peso> C. <peso unidade="40">Kg</peso> <!ELEMENT peso (#PCDATA) > <!ATTLIST peso unidade CDATA #REQUIRED>
  • 27. Atributo com Valor Padrão • Esta definição diz que o elemento “peso” pode conter um atributo unidade e que seu valor padrão é Kg. <!ELEMENT peso (#PCDATA) > <!ATTLIST peso unidade CDATA "Kg">
  • 28. Atributo com Valor Padrão • Esta definição diz que o elemento “peso” contém um atributo unidade e que seu valor padrão é Kg. <!ELEMENT peso (#PCDATA) > <!ATTLIST peso unidade CDATA "Kg" #REQUIRED>
  • 29. Atributo com Valor Padrão • Esta definição especificamos que o nó cliente sempre terá um atributo codigo. <!ELEMENT cliente (nome, documento, endereco) > <!ATTLIST cliente codigo CDATA #REQUIRED>
  • 31. Entidades no DTD • Entidades são como entradas ou atalhos. Com uma entidade você define seu nome e o texto pelo qual ela será substituída.
  • 32. Entidade • A entidade copyright define um texto padrão que será apresentado, toda vez que a entidade seja referenciada num documento XML • Exemplo: <conteudo> Este texto é de conteúdo… &copyright; </conteudo> <!ENTITY copyright "copyright 1995, Companhia das Letras, [2008]" >
  • 33. Limitações • Não obedecem a sintaxe XML e requer que os analisadores de sintaxe suportem uma linguagem adicional. • Não suportam Namespaces. • Não possuem definição de tipos de dados (inteiro, string, data, etc…), o que reduz a capacidade de validação. • Possuem capacidade limitada para definir a quantidade de elementos filhos que um elemento pai pode ter.