SlideShare uma empresa Scribd logo
1 de 33
Baixar para ler offline
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.

Mais conteúdo relacionado

Mais procurados

Criando o Primeiro Projeto no Android Studio
Criando o Primeiro Projeto no Android StudioCriando o Primeiro Projeto no Android Studio
Criando o Primeiro Projeto no Android StudioTiago Antônio da Silva
 
Diagramas de Fluxo de Dados
Diagramas de Fluxo de DadosDiagramas de Fluxo de Dados
Diagramas de Fluxo de DadosJanynne Gomes
 
Criação de tabelas com HTML
Criação de tabelas com HTMLCriação de tabelas com HTML
Criação de tabelas com HTMLLeonardo Soares
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVAMoises Omena
 
diagrama de componentes
diagrama de componentesdiagrama de componentes
diagrama de componenteselliando dias
 
Práticas Administrativas - Aulas 1 a 12
Práticas Administrativas - Aulas 1 a 12Práticas Administrativas - Aulas 1 a 12
Práticas Administrativas - Aulas 1 a 12Wandick Rocha de Aquino
 
Estrutura de Dados - Aula 02
Estrutura de Dados - Aula 02Estrutura de Dados - Aula 02
Estrutura de Dados - Aula 02thomasdacosta
 
Modelo Conceitual
Modelo ConceitualModelo Conceitual
Modelo Conceitualkottrim
 
Diagrama de Estados
Diagrama de EstadosDiagrama de Estados
Diagrama de EstadosMaikynata
 
Aula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosAula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosRafael Albani
 
Aula 02 - UML e Padrões de Projeto
Aula 02 - UML e Padrões de ProjetoAula 02 - UML e Padrões de Projeto
Aula 02 - UML e Padrões de ProjetoVinícius de Paula
 
Nível de serviço logístico
Nível de serviço logísticoNível de serviço logístico
Nível de serviço logísticoRafael Rodrigues
 
Apresentação java
Apresentação javaApresentação java
Apresentação javamunosai
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a ObjetosIgor Takenami
 
Aula 1 requisitos
Aula 1   requisitosAula 1   requisitos
Aula 1 requisitoslicardino
 

Mais procurados (20)

Criando o Primeiro Projeto no Android Studio
Criando o Primeiro Projeto no Android StudioCriando o Primeiro Projeto no Android Studio
Criando o Primeiro Projeto no Android Studio
 
Diagramas de Fluxo de Dados
Diagramas de Fluxo de DadosDiagramas de Fluxo de Dados
Diagramas de Fluxo de Dados
 
Criação de tabelas com HTML
Criação de tabelas com HTMLCriação de tabelas com HTML
Criação de tabelas com HTML
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVA
 
Diagrama de Pareto
Diagrama de ParetoDiagrama de Pareto
Diagrama de Pareto
 
diagrama de componentes
diagrama de componentesdiagrama de componentes
diagrama de componentes
 
Práticas Administrativas - Aulas 1 a 12
Práticas Administrativas - Aulas 1 a 12Práticas Administrativas - Aulas 1 a 12
Práticas Administrativas - Aulas 1 a 12
 
Estrutura de Dados - Aula 02
Estrutura de Dados - Aula 02Estrutura de Dados - Aula 02
Estrutura de Dados - Aula 02
 
Modelo Conceitual
Modelo ConceitualModelo Conceitual
Modelo Conceitual
 
Diagrama de Estados
Diagrama de EstadosDiagrama de Estados
Diagrama de Estados
 
Aula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosAula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de Dados
 
Aula 2 - Introdução a Banco de Dados
Aula 2 - Introdução a Banco de DadosAula 2 - Introdução a Banco de Dados
Aula 2 - Introdução a Banco de Dados
 
Aula 02 - UML e Padrões de Projeto
Aula 02 - UML e Padrões de ProjetoAula 02 - UML e Padrões de Projeto
Aula 02 - UML e Padrões de Projeto
 
Nível de serviço logístico
Nível de serviço logísticoNível de serviço logístico
Nível de serviço logístico
 
Apresentação java
Apresentação javaApresentação java
Apresentação java
 
Produtividade e Qualidade
Produtividade e QualidadeProdutividade e Qualidade
Produtividade e Qualidade
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a Objetos
 
Aula 1 requisitos
Aula 1   requisitosAula 1   requisitos
Aula 1 requisitos
 
Algoritmo - tipos de dados
Algoritmo - tipos de dadosAlgoritmo - tipos de dados
Algoritmo - tipos de dados
 
CSS
CSSCSS
CSS
 

Semelhante 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
 

Semelhante 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
 

Mais 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
 

Mais 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

About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéisines09cachapa
 
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdfGEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdfRavenaSales1
 
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
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...azulassessoria9
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.Mary Alvarenga
 
apostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médioapostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médiorosenilrucks
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTailsonSantos1
 
Historia da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfHistoria da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfEmanuel Pio
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdfLeloIurk1
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...HELENO FAVACHO
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
Jogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para criançasJogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para criançasSocorro Machado
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdfLeloIurk1
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxLuizHenriquedeAlmeid6
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaHELENO FAVACHO
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
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
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesFabianeMartins35
 
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdfPROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdfHELENO FAVACHO
 

Último (20)

About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéis
 
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdfGEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
 
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
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.
 
apostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médioapostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médio
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
 
Historia da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfHistoria da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdf
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
Jogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para criançasJogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para crianças
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
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
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividades
 
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdfPROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
 

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.