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

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 JavaDenis L Presciliano
 
Aprendizagem baseada em projetos
Aprendizagem baseada em projetosAprendizagem baseada em projetos
Aprendizagem baseada em projetosProfa Karen Borges
 
Fichamento
FichamentoFichamento
FichamentoLxa Alx
 
07 Modelagem de banco de dados: Modelo Físico
07 Modelagem de banco de dados: Modelo Físico07 Modelagem de banco de dados: Modelo Físico
07 Modelagem de banco de dados: Modelo FísicoCentro Paula Souza
 
Exercícios de mysql
Exercícios de mysqlExercícios de mysql
Exercícios de mysqlLeo Frazão
 
Curso de OO com C# - Parte 01 - Orientação a objetos
Curso de OO com C# - Parte 01 - Orientação a objetosCurso de OO com C# - Parte 01 - Orientação a objetos
Curso de OO com C# - Parte 01 - Orientação a objetosLeonardo Melo Santos
 
Estruturas em C++ (struct)
Estruturas em C++ (struct)Estruturas em C++ (struct)
Estruturas em C++ (struct)Márcio Rizzatto
 
DER - Diagrama de Entidade e Relacionamentos
DER - Diagrama de Entidade e RelacionamentosDER - Diagrama de Entidade e Relacionamentos
DER - Diagrama de Entidade e RelacionamentosCláudio Amaral
 
API de segurança do Java EE 8
API de segurança do Java EE 8API de segurança do Java EE 8
API de segurança do Java EE 8Helder da Rocha
 
Java vetores e matrizes
Java   vetores e matrizesJava   vetores e matrizes
Java vetores e matrizesArmando Daniel
 
Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Luis Ferreira
 

La actualidad más candente (20)

JAVA - Orientação a Objetos
JAVA - Orientação a ObjetosJAVA - Orientação a Objetos
JAVA - Orientação a Objetos
 
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
 
Projeto de Software
Projeto de SoftwareProjeto de Software
Projeto de Software
 
Aprendizagem baseada em projetos
Aprendizagem baseada em projetosAprendizagem baseada em projetos
Aprendizagem baseada em projetos
 
Algumas Funções do SPSS
Algumas Funções do SPSSAlgumas Funções do SPSS
Algumas Funções do SPSS
 
Fichamento
FichamentoFichamento
Fichamento
 
07 Modelagem de banco de dados: Modelo Físico
07 Modelagem de banco de dados: Modelo Físico07 Modelagem de banco de dados: Modelo Físico
07 Modelagem de banco de dados: Modelo Físico
 
Exercícios de mysql
Exercícios de mysqlExercícios de mysql
Exercícios de mysql
 
Curso de OO com C# - Parte 01 - Orientação a objetos
Curso de OO com C# - Parte 01 - Orientação a objetosCurso de OO com C# - Parte 01 - Orientação a objetos
Curso de OO com C# - Parte 01 - Orientação a objetos
 
Estruturas em C++ (struct)
Estruturas em C++ (struct)Estruturas em C++ (struct)
Estruturas em C++ (struct)
 
DER - Diagrama de Entidade e Relacionamentos
DER - Diagrama de Entidade e RelacionamentosDER - Diagrama de Entidade e Relacionamentos
DER - Diagrama de Entidade e Relacionamentos
 
API de segurança do Java EE 8
API de segurança do Java EE 8API de segurança do Java EE 8
API de segurança do Java EE 8
 
LP1 P01 - Python.pdf
LP1 P01 - Python.pdfLP1 P01 - Python.pdf
LP1 P01 - Python.pdf
 
03 mer2
03 mer203 mer2
03 mer2
 
Uml
UmlUml
Uml
 
Como fazer resenha
Como fazer  resenhaComo fazer  resenha
Como fazer resenha
 
Aulas Redação: Competência 4
Aulas Redação: Competência 4Aulas Redação: Competência 4
Aulas Redação: Competência 4
 
Modelo E-R
Modelo E-RModelo E-R
Modelo E-R
 
Java vetores e matrizes
Java   vetores e matrizesJava   vetores e matrizes
Java vetores e matrizes
 
Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos
 

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

Document Type Definition
Document Type DefinitionDocument Type Definition
Document Type DefinitionArlindo Santos
 
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-USPUniversidade de São Paulo
 
Introdução à MEAN Stack
Introdução à MEAN StackIntrodução à MEAN Stack
Introdução à MEAN StackBruno Catão
 
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 - 1Vivian Motti
 
Desevolvimento Web Client-side - HTML
Desevolvimento Web Client-side - HTMLDesevolvimento Web Client-side - HTML
Desevolvimento Web Client-side - HTMLGuilherme
 
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 HTMLDra. Camila Hamdan
 
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 canonicaldiogofranciscorocha
 
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 Iinfo_cimol
 
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 DesignIuri Andreazza
 
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 Mysqlbinhoetec
 

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

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. CarvalhoRudson Kiyoshi Souza Carvalho
 
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. CarvalhoRudson 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

PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIAPROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIAHELENO FAVACHO
 
Aula de jornada de trabalho - reforma.ppt
Aula de jornada de trabalho - reforma.pptAula de jornada de trabalho - reforma.ppt
Aula de jornada de trabalho - reforma.pptPedro Luis Moraes
 
Aula 03 - Filogenia14+4134684516498481.pptx
Aula 03 - Filogenia14+4134684516498481.pptxAula 03 - Filogenia14+4134684516498481.pptx
Aula 03 - Filogenia14+4134684516498481.pptxandrenespoli3
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfTutor de matemática Ícaro
 
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfProjeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfHELENO FAVACHO
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfcomercial400681
 
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffffSSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffffNarlaAquino
 
Texto dramático com Estrutura e exemplos.ppt
Texto dramático com Estrutura e exemplos.pptTexto dramático com Estrutura e exemplos.ppt
Texto dramático com Estrutura e exemplos.pptjricardo76
 
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxLuizHenriquedeAlmeid6
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...PatriciaCaetano18
 
Seminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptxSeminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptxReinaldoMuller1
 
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdfTCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdfamarianegodoi
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfFrancisco Márcio Bezerra Oliveira
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxTailsonSantos1
 
Camadas da terra -Litosfera conteúdo 6º ano
Camadas da terra -Litosfera  conteúdo 6º anoCamadas da terra -Litosfera  conteúdo 6º ano
Camadas da terra -Litosfera conteúdo 6º anoRachel Facundo
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...andreiavys
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfHELENO FAVACHO
 
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfHELENO FAVACHO
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdfmarlene54545
 
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2Maria Teresa Thomaz
 

Último (20)

PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIAPROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
 
Aula de jornada de trabalho - reforma.ppt
Aula de jornada de trabalho - reforma.pptAula de jornada de trabalho - reforma.ppt
Aula de jornada de trabalho - reforma.ppt
 
Aula 03 - Filogenia14+4134684516498481.pptx
Aula 03 - Filogenia14+4134684516498481.pptxAula 03 - Filogenia14+4134684516498481.pptx
Aula 03 - Filogenia14+4134684516498481.pptx
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfProjeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
 
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffffSSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
 
Texto dramático com Estrutura e exemplos.ppt
Texto dramático com Estrutura e exemplos.pptTexto dramático com Estrutura e exemplos.ppt
Texto dramático com Estrutura e exemplos.ppt
 
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
 
Seminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptxSeminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptx
 
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdfTCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
 
Camadas da terra -Litosfera conteúdo 6º ano
Camadas da terra -Litosfera  conteúdo 6º anoCamadas da terra -Litosfera  conteúdo 6º ano
Camadas da terra -Litosfera conteúdo 6º ano
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
 
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
 
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2
 

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.