SlideShare uma empresa Scribd logo
D O C U M E N T T Y P E D E F I N I T I O N
DTD
Objectivos
 O DTD define a estrutura do documento
 Com o DTD as aplicações podem verificar se os
documentos estão correctos.
Declarações
 Um DTD é constituído por um conjunto de
declarações:
 ELEMENT para anotações de elementos
 ATTLIST definição de atributos
 ENTITY definição de entidades
 NOTATION definição de dados e formatos
 PCDATA
 CDATA
Declarações
 Elementos
 Elementos são os principais blocos.
 Atributos
 Atributos fornecem informação adicional sobre elementos.
Atributos são sempre colocados entre aspas. Por exemplo <img
src="computer.gif" />
Declarações
 Entidades
 Alguns caracteres por terem significado especial e precisam de
uma forma especial de representação, como por exemplo o
carácter "&nbsp;" que representa "no-breaking-space" no
HTML.
 &lt; < less than(menor do que)
 &gt; > greater than(maior do que)
 &amp; & ampersand
 &apos; ' apostrophe(apóstrofe)
 &quot; " quotation mark(aspas)
Declarações
 PCDATA
 PCDATA significa Parsed Character DATA.
 Entenda “Character Data” como o texto compreendido entre as
“tags” de um elemento.
 No PCDATA o texto será analisado sintacticamente e se houver
entidades estas serão expandidas. As “tags” dentro do texto, se
houver, serão processadas
 CDATA
 CDATA significa Character DATA. No CDATA o texto não
será analisado sintacticamente.
Declarações
 ( ... ) Delimita o grupo
 A Deve ter A somente
 A+ Deve ter 1 ou mais A
 A? Deve ter ZERO ou UM A
 A* Pode ter ZERO ou mais A
 +(A) Pode ter A
 -(A) Não deve ter A
 A | B Pode ter um ou outro
 A , B Deve ter um e outro e a ordem é importante
 A & B Ambos devem existir, e a ordem não é
importante
Elementos
 A declaração ELEMENT serve para declarar
elementos, com a seguinte sintaxe:
<!ELEMENT element-name category>
or
<!ELEMENT element-name (element-content)>
 Elementos vazios
 Elementos vazios são declarados com a palavra reservada
EMPTY:
<!ELEMENT element-name EMPTY>
Ex: <!ELEMENT br EMPTY>
Elementos
 Elementos com PCDATA
 Elementos com apenas dados que serão analisados são
declarados com o parâmetro #PCDATA dentro do parenteses:
<!ELEMENT element-name (#PCDATA)>
 Elementos com conteúdo
 Elementos declarados com a palavra reservada ANY, poderá
conter qualquer combinação de dados.
<!ELEMENT element-name ANY>
Elementos
 Elementos com filhos (sequências)
 Elementos com um ou mais filhos são declarados com o nome
dos elementos filhos.
<!ELEMENT element-name (child1)>
ou
<!ELEMENT element-name (child1,child2,...)>
Elementos
 Declarando apenas uma ocorrência de um elemento
<!ELEMENT element-name (child-name)>
 Declarando pelo menos uma ocorrência do elemento.
<!ELEMENT element-name (child-name+)>
 Declarando zero ou mais ocorrências de um
Elemento
<!ELEMENT element-name (child-name*)>
 Declarando zero ou uma ocorrências de um
Elemento
<!ELEMENT element-name (child-name?)>
Declarando um ou outro conteúdo
<!ELEMENT element-name (child-name-1 | child-name-2)>
Elementos
 O elemento A tem zero ou mais elementos B seguidos de
um único elemento C:
<!ELEMENT A (B* , C)>
 O elemento A tem um ou mais elementos B seguidos de
um único elemento C:
<!ELEMENT A (B+ , C)>
 O elemento A tem o elemento A opcional:
<!ELEMENT A (A? , B)>
 O elemento A pode conter qualquer combinação de texto
e do elemento B
<!ELEMENT A (#PCDATA | B )*>
Elementos
 Outras formas de declarar os elementos que se
encontra em várias especificações:
<!ELEMENT element-name - - (element-child)+>
 O elemento-name deve ser uma tag de início <element.name>
e uma tag de fecho </element-name>
<!ELEMENT element-name – O EMPTY>
 O elemento-name deve ser uma tag de início <element.name>
e tag de fecho </element-name> é opcional.
 Com a palavra-chave EMPTY reforça a ideia que o bloco não
teve ter conteúdo!
Atributos
 Servem para atribuir pares nome-valor com elementos.
 Atributos só podem aparecer em etiquetas de início e em
etiquetas vazias.
 A declaração de atributos inicia com o nome ATTLIST,
seguido do nome do elemento e da lista de seus atributos.
<!ATTLIST element-name attribute-name attribute-type
default-value>
 DTD Exemplo:
<!ATTLIST A type CDATA "check">
 XML Exemplo:
<A type="check" />
Atributos
 O tipo do atributo pode ser:
 CDATA O valor é “character data”
 (en1|en2|..) O valor deve ser de uma lista enumerada
 ID O valor é um único “id”
 IDREF O valor é o id de um outro elemento
 IDREFS O valor é uma lista de outros “ids”
 NMTOKEN O valor é um nome válido
 NMTOKENS O valor é uma lista de nomes válidos
 ENTITY O valor é uma entidade
 Entidades O valor é uma lista de Entidades
 NOTATION O valor é o nome de uma “notation”
Atributos
 O default-value pode ser um dos seguintes:
 value O valor default do atributo
 #REQUIRED O atributo é obrigatório
 #IMPLIED O atributo é não obrigatório
 #FIXED value O valor do atributo é fixo
 EX:
<!ELEMENT A EMPTY>
<!ATTLIST A width CDATA "0">
<A width="100" />
No exemplo acima, o elemento “A" é definido para ser um
elemento vazio com um atributo "width”. Se nenhum
“width” for definido o seu valor default será “0”.
Atributos
<!ELEMENT A(#PCDATA)>
<!ATTLIST attributes
aaa CDATA #REQUIRED
bbb CDATA #IMPLIED>
 A ordem dos atributos não importa
 Atributos CDATA: permite qualquer caracter de acordo
com as regras de boa formação
 #REQUIRED: obrigatório
 #IMPLIED: Opcional
Atributos
 #REQUIRED
 O #REQUIRED é usado se não há um valor default a ser
definido e deseja-se forçar a presença do atributo.
<!ATTLIST element-name attribute-name attribute-
type #REQUIRED>
 Exemplo:
<!ATTLIST person number CDATA #REQUIRED>
 Valido: <person number="5677" />
 Invalido: <person />
Atributos
 #FIXED
 Usar #FIXED quando o atributo deve ter valores fixado que
não pode ser mudados pelo autor
<!ATTLIST element-name attribute-name attribute-
type #FIXED "value">
 Exemplo
<!ATTLIST sender company CDATA #FIXED
"Microsoft">
 Válido : <sender company="Microsoft" />
 Inválido: <sender company="IBM" />
Atributos
 #IMPLIED
 Usar #IMPLIED quando não se deseja forçar a existência do
atributo e não tem um valor default definido.
<!ATTLIST element-name attribute-name attribute-
type #IMPLIED>
 Exemplo
<!ATTLIST contact fax CDATA #IMPLIED>
 Valido: <contact fax="555-667788" />
 Valido: <contact />
Atributos
 Enumerated Attribute Values
 Usar “enumerated attribute” quando é desejado que o atributo
seja um entre vários valores definidos.
<!ATTLIST element-name attribute-name (en1|en2|..)
default-value>
 Exemplo:
<!ATTLIST payment type (check|cash) "cash">
<payment type="check" />
<payment type="cash" />
Atributos
 NMTOKEN: letras, dígitos, ponto [ . ] , hífen [ - ], underline [ _ ] dois
pontos [ : ] .
 NMTOKENS: NMTOKEN mais o espaço em branco: um ou mais
espaços em branco, return, fim de linha e tabulações.
<!ELEMENT attributes (#PCDATA)>
<!ATTLIST attributes
aaa CDATA #IMPLIED
bbb NMTOKEN #REQUIRED
ccc NMTOKENS #REQUIRED>
Atributos
 Tipo ID
 Um atributo do tipo ID pode conter apenas caracteres permitidos pelo tipo NMTOKEN e devem
iniciar por uma letra.
 Nenhum tipo de elemento deve conter mais de um atributo do tipo ID
 O valor de um atributo do tipo ID deve ser único dentre todos atributos ID das instâncias do
elemento.
<!ELEMENT X(A+ , B+ , C+)>
<!ELEMENT A (#PCDATA)>
<!ELEMENT B (#PCDATA)>
<!ELEMENT C (#PCDATA)>
<!ATTLIST A
id ID #REQUIRED>
<!ATTLIST B
code ID #IMPLIED
list NMTOKEN #IMPLIED>
<!ATTLIST C
X ID #REQUIRED
Y NMTOKEN #IMPLIED>
Atributos
 IDREF
 Um atributo IDREF deve referencia algum ID existente no documento. IDREFS referencia um
sequência de Ids
<!ELEMENT X (A+ , B+, C+, D+)>
<!ELEMENT A (#PCDATA)>
<!ELEMENT B (#PCDATA)>
<!ELEMENT C (#PCDATA)>
<!ELEMENT D (#PCDATA)>
<!ATTLIST A
mark ID #REQUIRED>
<!ATTLIST B
id ID #REQUIRED>
<!ATTLIST C
ref IDREF #REQUIRED>
<!ATTLIST D
ref IDREFS #REQUIRED>
Atributos
<X>
<A mark="a1"/>
<A mark="a2"/>
<A mark="a3"/>
<B id="b001" />
<C ref="a3" />
<D ref="a1 b001 a2" />
</X>
Atributos
 Especificando valores de atributo permitidos
<!ELEMENT X(A+, B+)>
<!ELEMENT A (#PCDATA)>
<!ELEMENT B (#PCDATA)>
<!ATTLIST A
true ( yes | no ) #REQUIRED>
<!ATTLIST B
month (1|2|3|4|5|6|7|8|9|10|11|12) #IMPLIED>
Atributos
 Valores permitidos
<X>
<A true="yes"/>
<A true="no"/>
<A true="yes"/>
<B month="8" />
<B month="2" />
<B month="12" />
</X>
 Valores default
<!ATTLIST A
true ( yes | no ) "yes">
Atributos
 Elemento só com atributos, sem texto (Vazio)
<!ELEMENT A EMPTY>
Exemplo:
<X>
<A true="yes"/>
<A true="no"></A>
</X>
Entidades
 Entidades são variáveis usadas para definir atalhos
para textos padrão ou caracteres especiais.
 “Entity references” são referências a Entidades.
 Entidades podem ser declaradas internamente ou
externamente ou parametrizadas.
 Nota: Uma entidade possui três partes: o
ampersand (&), o nome e um ponto
vírgula(;).
Entidades
 Entidades Declaradas Internamente
<!ENTITY entity-name "entity-value">
<!ENTITY writer "Donald Duck.">
<!ENTITY copyright "Copyright W3Schools.">
<author>&writer;&copyright;</author>
 Entidades Declaradas Externamente
<!ENTITY entity-name SYSTEM "URI/URL">
<!ENTITY writer SYSTEM "http://www.w3schools.com/Entidades.dtd">
<!ENTITY copyright SYSTEM "http://www.w3schools.com/Entidades.dtd">
<author>&writer;&copyright;</author>
Entidades
 Entidades parametrizadas
 As entidades de parâmetro ou parametrizadas são válidas
somente em DTDs, funcionam como abreviaturas de
declarações e são declaradas na DTD por meio do símbolo %
precedido ao nome da entidade.
 Por exemplo:
<!ENTITY % livro “(titulo, autor, editora, preco)”>
<!ELEMENT exemplo %livro;>
 Esse exemplo determina que um elemento livro pode ter somente
filhos do tipo titulo, autor, editora e preço.
Notações
 Descrevem o formato dos objectos de dados
 São normalmente usadas para descrever o formato dos objectos
binários, como arquivos gráficos
 Mecanismo para associar entidades unparsed ou não analisáveis
com a ferramenta apropriada
 Em caso de uma imagem, pode ser um visualizador
<!NOTATION GIF89a PUBLIC
“-/CompuServe//NOTATION Graphics Interchange Format 89a//EN”
“c:windowskodakprv.exe”>
 Pode-se usar associações de arquivos
<!NOTATION GIF89a SYSTEM “GIF”>
<!NOTATION GIF89a SYSTEM “image/gif”>

Mais conteúdo relacionado

Destaque

Colegio nacional pomasqui 4
Colegio nacional pomasqui  4Colegio nacional pomasqui  4
Colegio nacional pomasqui 4
paolcapricornio95
 
áLbum de kelly otero.
áLbum de kelly otero.áLbum de kelly otero.
áLbum de kelly otero.
Kelyxita Otero
 
Mercedes W 108 280 SE
Mercedes W 108 280 SEMercedes W 108 280 SE
Mercedes W 108 280 SE
Hourville
 
Dica mat
Dica matDica mat
Ley fundamental de educacion
Ley fundamental de educacionLey fundamental de educacion
Ley fundamental de educaciongabyblancoleal
 
ေဒၚေအာင္ဆန္းစုၾကည္ ျမန္မာျပည္ကလာတဲ့စာ
ေဒၚေအာင္ဆန္းစုၾကည္   ျမန္မာျပည္ကလာတဲ့စာ ေဒၚေအာင္ဆန္းစုၾကည္   ျမန္မာျပည္ကလာတဲ့စာ
ေဒၚေအာင္ဆန္းစုၾကည္ ျမန္မာျပည္ကလာတဲ့စာ ဆရာ ဟိန္းတင့္ေဇာ္
 
Summit1 sb-130214222951-phpapp02
Summit1 sb-130214222951-phpapp02Summit1 sb-130214222951-phpapp02
Summit1 sb-130214222951-phpapp02
Gil1389
 
Cristina paola 95
Cristina paola 95Cristina paola 95
Cristina paola 95
paolcapricornio95
 
Fabi3
Fabi3Fabi3
Pautas de crinazasorrrrrrrrrrrrr
Pautas de crinazasorrrrrrrrrrrrrPautas de crinazasorrrrrrrrrrrrr
Pautas de crinazasorrrrrrrrrrrrr
soraidamg
 
CTN
CTNCTN
Presentación2
Presentación2Presentación2
Presentación2
bebicto
 
Etapa 2. comprensi+ôn literal de la lectura
Etapa 2. comprensi+ôn literal de la lecturaEtapa 2. comprensi+ôn literal de la lectura
Etapa 2. comprensi+ôn literal de la lectura
Maria Alejandra Lopez Rinconez
 
MARKETING NUEVAS
MARKETING NUEVAS MARKETING NUEVAS
MARKETING NUEVAS
PauLita Rioz
 
Quince faty
Quince fatyQuince faty
FRAMES VILA DA MÍDIA - Recreio dos Bandeirantes
FRAMES VILA DA MÍDIA - Recreio dos BandeirantesFRAMES VILA DA MÍDIA - Recreio dos Bandeirantes
FRAMES VILA DA MÍDIA - Recreio dos Bandeirantes
ANDREIA MAIA
 

Destaque (20)

Colegio nacional pomasqui 4
Colegio nacional pomasqui  4Colegio nacional pomasqui  4
Colegio nacional pomasqui 4
 
áLbum de kelly otero.
áLbum de kelly otero.áLbum de kelly otero.
áLbum de kelly otero.
 
Carnaval
CarnavalCarnaval
Carnaval
 
Mercedes W 108 280 SE
Mercedes W 108 280 SEMercedes W 108 280 SE
Mercedes W 108 280 SE
 
Dica mat
Dica matDica mat
Dica mat
 
Ley fundamental de educacion
Ley fundamental de educacionLey fundamental de educacion
Ley fundamental de educacion
 
ေဒၚေအာင္ဆန္းစုၾကည္ ျမန္မာျပည္ကလာတဲ့စာ
ေဒၚေအာင္ဆန္းစုၾကည္   ျမန္မာျပည္ကလာတဲ့စာ ေဒၚေအာင္ဆန္းစုၾကည္   ျမန္မာျပည္ကလာတဲ့စာ
ေဒၚေအာင္ဆန္းစုၾကည္ ျမန္မာျပည္ကလာတဲ့စာ
 
Summit1 sb-130214222951-phpapp02
Summit1 sb-130214222951-phpapp02Summit1 sb-130214222951-phpapp02
Summit1 sb-130214222951-phpapp02
 
Cristina paola 95
Cristina paola 95Cristina paola 95
Cristina paola 95
 
Bürostühle
BürostühleBürostühle
Bürostühle
 
Fabi3
Fabi3Fabi3
Fabi3
 
Pautas de crinazasorrrrrrrrrrrrr
Pautas de crinazasorrrrrrrrrrrrrPautas de crinazasorrrrrrrrrrrrr
Pautas de crinazasorrrrrrrrrrrrr
 
CTN
CTNCTN
CTN
 
Anees kaymarsiyay
Anees kaymarsiyayAnees kaymarsiyay
Anees kaymarsiyay
 
Presentación2
Presentación2Presentación2
Presentación2
 
Etapa 2. comprensi+ôn literal de la lectura
Etapa 2. comprensi+ôn literal de la lecturaEtapa 2. comprensi+ôn literal de la lectura
Etapa 2. comprensi+ôn literal de la lectura
 
MARKETING NUEVAS
MARKETING NUEVAS MARKETING NUEVAS
MARKETING NUEVAS
 
O renascimento cultural
O renascimento culturalO renascimento cultural
O renascimento cultural
 
Quince faty
Quince fatyQuince faty
Quince faty
 
FRAMES VILA DA MÍDIA - Recreio dos Bandeirantes
FRAMES VILA DA MÍDIA - Recreio dos BandeirantesFRAMES VILA DA MÍDIA - Recreio dos Bandeirantes
FRAMES VILA DA MÍDIA - Recreio dos Bandeirantes
 

Semelhante a Document Type Definition

Aula de DTD Definição do Tipo de Documento
Aula de DTD Definição do Tipo de DocumentoAula de DTD Definição do Tipo de Documento
Aula de DTD Definição do Tipo de Documento
Rudson Kiyoshi Souza Carvalho
 
3 - Modelo Entidade Relacionamento
3 - Modelo Entidade Relacionamento3 - Modelo Entidade Relacionamento
3 - Modelo Entidade Relacionamento
Cris Fidelix
 
Introdução HTML_CSS.pptx
Introdução  HTML_CSS.pptxIntrodução  HTML_CSS.pptx
Introdução HTML_CSS.pptx
FRANCISCOADALBERTODE1
 
Aprenda jQuery 1.3
Aprenda jQuery 1.3Aprenda jQuery 1.3
Aprenda jQuery 1.3
Helton Marinho
 
Unidade4.1 Oracle Or
Unidade4.1 Oracle OrUnidade4.1 Oracle Or
Unidade4.1 Oracle Or
UFU
 
Banco de Dados XML
Banco de Dados XMLBanco de Dados XML
Banco de Dados XML
Tiago R. Sampaio
 
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
info_cimol
 
Aula 7 pc - estrutura
Aula 7   pc - estruturaAula 7   pc - estrutura
Aula 7 pc - estrutura
Elaine Cecília Gatto
 
O que é html
O que é htmlO que é html
O que é html
Eduardo Kiefer
 
Beagajs
BeagajsBeagajs
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
Vivian Motti
 
EXTREME LDAP - GABRIEL STEIN
EXTREME LDAP - GABRIEL STEINEXTREME LDAP - GABRIEL STEIN
EXTREME LDAP - GABRIEL STEIN
Tchelinux
 
Aula de XHTML
Aula de XHTMLAula de XHTML
Aula de XHTML
Matheus Brito
 
XML e Banco de Dados XML Nativo
XML e Banco de Dados XML NativoXML e Banco de Dados XML Nativo
XML e Banco de Dados XML Nativo
GPrimola
 
XHTML Básico
XHTML BásicoXHTML Básico
XHTML Básico
Ester Razzo Fischer
 

Semelhante a Document Type Definition (15)

Aula de DTD Definição do Tipo de Documento
Aula de DTD Definição do Tipo de DocumentoAula de DTD Definição do Tipo de Documento
Aula de DTD Definição do Tipo de Documento
 
3 - Modelo Entidade Relacionamento
3 - Modelo Entidade Relacionamento3 - Modelo Entidade Relacionamento
3 - Modelo Entidade Relacionamento
 
Introdução HTML_CSS.pptx
Introdução  HTML_CSS.pptxIntrodução  HTML_CSS.pptx
Introdução HTML_CSS.pptx
 
Aprenda jQuery 1.3
Aprenda jQuery 1.3Aprenda jQuery 1.3
Aprenda jQuery 1.3
 
Unidade4.1 Oracle Or
Unidade4.1 Oracle OrUnidade4.1 Oracle Or
Unidade4.1 Oracle Or
 
Banco de Dados XML
Banco de Dados XMLBanco de Dados XML
Banco de Dados XML
 
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
 
Aula 7 pc - estrutura
Aula 7   pc - estruturaAula 7   pc - estrutura
Aula 7 pc - estrutura
 
O que é html
O que é htmlO que é html
O que é html
 
Beagajs
BeagajsBeagajs
Beagajs
 
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
 
EXTREME LDAP - GABRIEL STEIN
EXTREME LDAP - GABRIEL STEINEXTREME LDAP - GABRIEL STEIN
EXTREME LDAP - GABRIEL STEIN
 
Aula de XHTML
Aula de XHTMLAula de XHTML
Aula de XHTML
 
XML e Banco de Dados XML Nativo
XML e Banco de Dados XML NativoXML e Banco de Dados XML Nativo
XML e Banco de Dados XML Nativo
 
XHTML Básico
XHTML BásicoXHTML Básico
XHTML Básico
 

Último

Aula história , caracteristicas e esteriótipos em relação a DANÇA DE SALAO.pptx
Aula história , caracteristicas e esteriótipos em relação a DANÇA DE SALAO.pptxAula história , caracteristicas e esteriótipos em relação a DANÇA DE SALAO.pptx
Aula história , caracteristicas e esteriótipos em relação a DANÇA DE SALAO.pptx
edivirgesribeiro1
 
CRONOGRAMA - PSC 2° ETAPA 2024.pptx (1).pdf
CRONOGRAMA - PSC 2° ETAPA 2024.pptx (1).pdfCRONOGRAMA - PSC 2° ETAPA 2024.pptx (1).pdf
CRONOGRAMA - PSC 2° ETAPA 2024.pptx (1).pdf
soaresdesouzaamanda8
 
- TEMPLATE DA PRATICA - Psicomotricidade.pptx
- TEMPLATE DA PRATICA - Psicomotricidade.pptx- TEMPLATE DA PRATICA - Psicomotricidade.pptx
- TEMPLATE DA PRATICA - Psicomotricidade.pptx
LucianaCristina58
 
05-os-pre-socraticos sociologia-28-slides.pptx
05-os-pre-socraticos sociologia-28-slides.pptx05-os-pre-socraticos sociologia-28-slides.pptx
05-os-pre-socraticos sociologia-28-slides.pptx
ValdineyRodriguesBez1
 
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptxSlides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
LuizHenriquedeAlmeid6
 
Sinais de pontuação
Sinais de pontuaçãoSinais de pontuação
Sinais de pontuação
Mary Alvarenga
 
PowerPoint Newton gostava de Ler - Saber em Gel.pdf
PowerPoint Newton gostava de Ler - Saber em Gel.pdfPowerPoint Newton gostava de Ler - Saber em Gel.pdf
PowerPoint Newton gostava de Ler - Saber em Gel.pdf
1000a
 
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptxTreinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
MarcosPaulo777883
 
Fernão Lopes. pptx
Fernão Lopes.                       pptxFernão Lopes.                       pptx
Fernão Lopes. pptx
TomasSousa7
 
Atividades de Inglês e Espanhol para Imprimir - Alfabetinho
Atividades de Inglês e Espanhol para Imprimir - AlfabetinhoAtividades de Inglês e Espanhol para Imprimir - Alfabetinho
Atividades de Inglês e Espanhol para Imprimir - Alfabetinho
MateusTavares54
 
OS elementos de uma boa Redação para o ENEM.pdf
OS elementos de uma boa Redação para o ENEM.pdfOS elementos de uma boa Redação para o ENEM.pdf
OS elementos de uma boa Redação para o ENEM.pdf
AmiltonAparecido1
 
A dinâmica da população mundial de acordo com as teorias populacionais.pptx
A dinâmica da população mundial de acordo com as teorias populacionais.pptxA dinâmica da população mundial de acordo com as teorias populacionais.pptx
A dinâmica da população mundial de acordo com as teorias populacionais.pptx
ReinaldoSouza57
 
759-fortaleza-resultado-definitivo-prova-objetiva-2024-05-28.pdf
759-fortaleza-resultado-definitivo-prova-objetiva-2024-05-28.pdf759-fortaleza-resultado-definitivo-prova-objetiva-2024-05-28.pdf
759-fortaleza-resultado-definitivo-prova-objetiva-2024-05-28.pdf
MessiasMarianoG
 
Slides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptx
Slides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptxSlides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptx
Slides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptx
LuizHenriquedeAlmeid6
 
Funções e Progressões - Livro completo prisma
Funções e Progressões - Livro completo prismaFunções e Progressões - Livro completo prisma
Funções e Progressões - Livro completo prisma
djincognito
 
1_10_06_2024_Criança e Cultura Escrita, Ana Maria de Oliveira Galvão.pdf
1_10_06_2024_Criança e Cultura Escrita, Ana Maria de Oliveira Galvão.pdf1_10_06_2024_Criança e Cultura Escrita, Ana Maria de Oliveira Galvão.pdf
1_10_06_2024_Criança e Cultura Escrita, Ana Maria de Oliveira Galvão.pdf
SILVIAREGINANAZARECA
 
Aula 2 - Revisando o significado de fração - Parte 2.pptx
Aula 2 - Revisando o significado de fração - Parte 2.pptxAula 2 - Revisando o significado de fração - Parte 2.pptx
Aula 2 - Revisando o significado de fração - Parte 2.pptx
LILIANPRESTESSCUDELE
 
Testes + soluções_Mensagens12 )11111.pdf
Testes + soluções_Mensagens12 )11111.pdfTestes + soluções_Mensagens12 )11111.pdf
Testes + soluções_Mensagens12 )11111.pdf
lveiga112
 
Folheto | Centro de Informação Europeia Jacques Delors (junho/2024)
Folheto | Centro de Informação Europeia Jacques Delors (junho/2024)Folheto | Centro de Informação Europeia Jacques Delors (junho/2024)
Folheto | Centro de Informação Europeia Jacques Delors (junho/2024)
Centro Jacques Delors
 
O que é um Ménage a Trois Contemporâneo .pdf
O que é um Ménage a Trois Contemporâneo .pdfO que é um Ménage a Trois Contemporâneo .pdf
O que é um Ménage a Trois Contemporâneo .pdf
Pastor Robson Colaço
 

Último (20)

Aula história , caracteristicas e esteriótipos em relação a DANÇA DE SALAO.pptx
Aula história , caracteristicas e esteriótipos em relação a DANÇA DE SALAO.pptxAula história , caracteristicas e esteriótipos em relação a DANÇA DE SALAO.pptx
Aula história , caracteristicas e esteriótipos em relação a DANÇA DE SALAO.pptx
 
CRONOGRAMA - PSC 2° ETAPA 2024.pptx (1).pdf
CRONOGRAMA - PSC 2° ETAPA 2024.pptx (1).pdfCRONOGRAMA - PSC 2° ETAPA 2024.pptx (1).pdf
CRONOGRAMA - PSC 2° ETAPA 2024.pptx (1).pdf
 
- TEMPLATE DA PRATICA - Psicomotricidade.pptx
- TEMPLATE DA PRATICA - Psicomotricidade.pptx- TEMPLATE DA PRATICA - Psicomotricidade.pptx
- TEMPLATE DA PRATICA - Psicomotricidade.pptx
 
05-os-pre-socraticos sociologia-28-slides.pptx
05-os-pre-socraticos sociologia-28-slides.pptx05-os-pre-socraticos sociologia-28-slides.pptx
05-os-pre-socraticos sociologia-28-slides.pptx
 
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptxSlides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
 
Sinais de pontuação
Sinais de pontuaçãoSinais de pontuação
Sinais de pontuação
 
PowerPoint Newton gostava de Ler - Saber em Gel.pdf
PowerPoint Newton gostava de Ler - Saber em Gel.pdfPowerPoint Newton gostava de Ler - Saber em Gel.pdf
PowerPoint Newton gostava de Ler - Saber em Gel.pdf
 
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptxTreinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
 
Fernão Lopes. pptx
Fernão Lopes.                       pptxFernão Lopes.                       pptx
Fernão Lopes. pptx
 
Atividades de Inglês e Espanhol para Imprimir - Alfabetinho
Atividades de Inglês e Espanhol para Imprimir - AlfabetinhoAtividades de Inglês e Espanhol para Imprimir - Alfabetinho
Atividades de Inglês e Espanhol para Imprimir - Alfabetinho
 
OS elementos de uma boa Redação para o ENEM.pdf
OS elementos de uma boa Redação para o ENEM.pdfOS elementos de uma boa Redação para o ENEM.pdf
OS elementos de uma boa Redação para o ENEM.pdf
 
A dinâmica da população mundial de acordo com as teorias populacionais.pptx
A dinâmica da população mundial de acordo com as teorias populacionais.pptxA dinâmica da população mundial de acordo com as teorias populacionais.pptx
A dinâmica da população mundial de acordo com as teorias populacionais.pptx
 
759-fortaleza-resultado-definitivo-prova-objetiva-2024-05-28.pdf
759-fortaleza-resultado-definitivo-prova-objetiva-2024-05-28.pdf759-fortaleza-resultado-definitivo-prova-objetiva-2024-05-28.pdf
759-fortaleza-resultado-definitivo-prova-objetiva-2024-05-28.pdf
 
Slides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptx
Slides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptxSlides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptx
Slides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptx
 
Funções e Progressões - Livro completo prisma
Funções e Progressões - Livro completo prismaFunções e Progressões - Livro completo prisma
Funções e Progressões - Livro completo prisma
 
1_10_06_2024_Criança e Cultura Escrita, Ana Maria de Oliveira Galvão.pdf
1_10_06_2024_Criança e Cultura Escrita, Ana Maria de Oliveira Galvão.pdf1_10_06_2024_Criança e Cultura Escrita, Ana Maria de Oliveira Galvão.pdf
1_10_06_2024_Criança e Cultura Escrita, Ana Maria de Oliveira Galvão.pdf
 
Aula 2 - Revisando o significado de fração - Parte 2.pptx
Aula 2 - Revisando o significado de fração - Parte 2.pptxAula 2 - Revisando o significado de fração - Parte 2.pptx
Aula 2 - Revisando o significado de fração - Parte 2.pptx
 
Testes + soluções_Mensagens12 )11111.pdf
Testes + soluções_Mensagens12 )11111.pdfTestes + soluções_Mensagens12 )11111.pdf
Testes + soluções_Mensagens12 )11111.pdf
 
Folheto | Centro de Informação Europeia Jacques Delors (junho/2024)
Folheto | Centro de Informação Europeia Jacques Delors (junho/2024)Folheto | Centro de Informação Europeia Jacques Delors (junho/2024)
Folheto | Centro de Informação Europeia Jacques Delors (junho/2024)
 
O que é um Ménage a Trois Contemporâneo .pdf
O que é um Ménage a Trois Contemporâneo .pdfO que é um Ménage a Trois Contemporâneo .pdf
O que é um Ménage a Trois Contemporâneo .pdf
 

Document Type Definition

  • 1. D O C U M E N T T Y P E D E F I N I T I O N DTD
  • 2. Objectivos  O DTD define a estrutura do documento  Com o DTD as aplicações podem verificar se os documentos estão correctos.
  • 3. Declarações  Um DTD é constituído por um conjunto de declarações:  ELEMENT para anotações de elementos  ATTLIST definição de atributos  ENTITY definição de entidades  NOTATION definição de dados e formatos  PCDATA  CDATA
  • 4. Declarações  Elementos  Elementos são os principais blocos.  Atributos  Atributos fornecem informação adicional sobre elementos. Atributos são sempre colocados entre aspas. Por exemplo <img src="computer.gif" />
  • 5. Declarações  Entidades  Alguns caracteres por terem significado especial e precisam de uma forma especial de representação, como por exemplo o carácter "&nbsp;" que representa "no-breaking-space" no HTML.  &lt; < less than(menor do que)  &gt; > greater than(maior do que)  &amp; & ampersand  &apos; ' apostrophe(apóstrofe)  &quot; " quotation mark(aspas)
  • 6. Declarações  PCDATA  PCDATA significa Parsed Character DATA.  Entenda “Character Data” como o texto compreendido entre as “tags” de um elemento.  No PCDATA o texto será analisado sintacticamente e se houver entidades estas serão expandidas. As “tags” dentro do texto, se houver, serão processadas  CDATA  CDATA significa Character DATA. No CDATA o texto não será analisado sintacticamente.
  • 7. Declarações  ( ... ) Delimita o grupo  A Deve ter A somente  A+ Deve ter 1 ou mais A  A? Deve ter ZERO ou UM A  A* Pode ter ZERO ou mais A  +(A) Pode ter A  -(A) Não deve ter A  A | B Pode ter um ou outro  A , B Deve ter um e outro e a ordem é importante  A & B Ambos devem existir, e a ordem não é importante
  • 8. Elementos  A declaração ELEMENT serve para declarar elementos, com a seguinte sintaxe: <!ELEMENT element-name category> or <!ELEMENT element-name (element-content)>  Elementos vazios  Elementos vazios são declarados com a palavra reservada EMPTY: <!ELEMENT element-name EMPTY> Ex: <!ELEMENT br EMPTY>
  • 9. Elementos  Elementos com PCDATA  Elementos com apenas dados que serão analisados são declarados com o parâmetro #PCDATA dentro do parenteses: <!ELEMENT element-name (#PCDATA)>  Elementos com conteúdo  Elementos declarados com a palavra reservada ANY, poderá conter qualquer combinação de dados. <!ELEMENT element-name ANY>
  • 10. Elementos  Elementos com filhos (sequências)  Elementos com um ou mais filhos são declarados com o nome dos elementos filhos. <!ELEMENT element-name (child1)> ou <!ELEMENT element-name (child1,child2,...)>
  • 11. Elementos  Declarando apenas uma ocorrência de um elemento <!ELEMENT element-name (child-name)>  Declarando pelo menos uma ocorrência do elemento. <!ELEMENT element-name (child-name+)>  Declarando zero ou mais ocorrências de um Elemento <!ELEMENT element-name (child-name*)>  Declarando zero ou uma ocorrências de um Elemento <!ELEMENT element-name (child-name?)> Declarando um ou outro conteúdo <!ELEMENT element-name (child-name-1 | child-name-2)>
  • 12. Elementos  O elemento A tem zero ou mais elementos B seguidos de um único elemento C: <!ELEMENT A (B* , C)>  O elemento A tem um ou mais elementos B seguidos de um único elemento C: <!ELEMENT A (B+ , C)>  O elemento A tem o elemento A opcional: <!ELEMENT A (A? , B)>  O elemento A pode conter qualquer combinação de texto e do elemento B <!ELEMENT A (#PCDATA | B )*>
  • 13. Elementos  Outras formas de declarar os elementos que se encontra em várias especificações: <!ELEMENT element-name - - (element-child)+>  O elemento-name deve ser uma tag de início <element.name> e uma tag de fecho </element-name> <!ELEMENT element-name – O EMPTY>  O elemento-name deve ser uma tag de início <element.name> e tag de fecho </element-name> é opcional.  Com a palavra-chave EMPTY reforça a ideia que o bloco não teve ter conteúdo!
  • 14. Atributos  Servem para atribuir pares nome-valor com elementos.  Atributos só podem aparecer em etiquetas de início e em etiquetas vazias.  A declaração de atributos inicia com o nome ATTLIST, seguido do nome do elemento e da lista de seus atributos. <!ATTLIST element-name attribute-name attribute-type default-value>  DTD Exemplo: <!ATTLIST A type CDATA "check">  XML Exemplo: <A type="check" />
  • 15. Atributos  O tipo do atributo pode ser:  CDATA O valor é “character data”  (en1|en2|..) O valor deve ser de uma lista enumerada  ID O valor é um único “id”  IDREF O valor é o id de um outro elemento  IDREFS O valor é uma lista de outros “ids”  NMTOKEN O valor é um nome válido  NMTOKENS O valor é uma lista de nomes válidos  ENTITY O valor é uma entidade  Entidades O valor é uma lista de Entidades  NOTATION O valor é o nome de uma “notation”
  • 16. Atributos  O default-value pode ser um dos seguintes:  value O valor default do atributo  #REQUIRED O atributo é obrigatório  #IMPLIED O atributo é não obrigatório  #FIXED value O valor do atributo é fixo  EX: <!ELEMENT A EMPTY> <!ATTLIST A width CDATA "0"> <A width="100" /> No exemplo acima, o elemento “A" é definido para ser um elemento vazio com um atributo "width”. Se nenhum “width” for definido o seu valor default será “0”.
  • 17. Atributos <!ELEMENT A(#PCDATA)> <!ATTLIST attributes aaa CDATA #REQUIRED bbb CDATA #IMPLIED>  A ordem dos atributos não importa  Atributos CDATA: permite qualquer caracter de acordo com as regras de boa formação  #REQUIRED: obrigatório  #IMPLIED: Opcional
  • 18. Atributos  #REQUIRED  O #REQUIRED é usado se não há um valor default a ser definido e deseja-se forçar a presença do atributo. <!ATTLIST element-name attribute-name attribute- type #REQUIRED>  Exemplo: <!ATTLIST person number CDATA #REQUIRED>  Valido: <person number="5677" />  Invalido: <person />
  • 19. Atributos  #FIXED  Usar #FIXED quando o atributo deve ter valores fixado que não pode ser mudados pelo autor <!ATTLIST element-name attribute-name attribute- type #FIXED "value">  Exemplo <!ATTLIST sender company CDATA #FIXED "Microsoft">  Válido : <sender company="Microsoft" />  Inválido: <sender company="IBM" />
  • 20. Atributos  #IMPLIED  Usar #IMPLIED quando não se deseja forçar a existência do atributo e não tem um valor default definido. <!ATTLIST element-name attribute-name attribute- type #IMPLIED>  Exemplo <!ATTLIST contact fax CDATA #IMPLIED>  Valido: <contact fax="555-667788" />  Valido: <contact />
  • 21. Atributos  Enumerated Attribute Values  Usar “enumerated attribute” quando é desejado que o atributo seja um entre vários valores definidos. <!ATTLIST element-name attribute-name (en1|en2|..) default-value>  Exemplo: <!ATTLIST payment type (check|cash) "cash"> <payment type="check" /> <payment type="cash" />
  • 22. Atributos  NMTOKEN: letras, dígitos, ponto [ . ] , hífen [ - ], underline [ _ ] dois pontos [ : ] .  NMTOKENS: NMTOKEN mais o espaço em branco: um ou mais espaços em branco, return, fim de linha e tabulações. <!ELEMENT attributes (#PCDATA)> <!ATTLIST attributes aaa CDATA #IMPLIED bbb NMTOKEN #REQUIRED ccc NMTOKENS #REQUIRED>
  • 23. Atributos  Tipo ID  Um atributo do tipo ID pode conter apenas caracteres permitidos pelo tipo NMTOKEN e devem iniciar por uma letra.  Nenhum tipo de elemento deve conter mais de um atributo do tipo ID  O valor de um atributo do tipo ID deve ser único dentre todos atributos ID das instâncias do elemento. <!ELEMENT X(A+ , B+ , C+)> <!ELEMENT A (#PCDATA)> <!ELEMENT B (#PCDATA)> <!ELEMENT C (#PCDATA)> <!ATTLIST A id ID #REQUIRED> <!ATTLIST B code ID #IMPLIED list NMTOKEN #IMPLIED> <!ATTLIST C X ID #REQUIRED Y NMTOKEN #IMPLIED>
  • 24. Atributos  IDREF  Um atributo IDREF deve referencia algum ID existente no documento. IDREFS referencia um sequência de Ids <!ELEMENT X (A+ , B+, C+, D+)> <!ELEMENT A (#PCDATA)> <!ELEMENT B (#PCDATA)> <!ELEMENT C (#PCDATA)> <!ELEMENT D (#PCDATA)> <!ATTLIST A mark ID #REQUIRED> <!ATTLIST B id ID #REQUIRED> <!ATTLIST C ref IDREF #REQUIRED> <!ATTLIST D ref IDREFS #REQUIRED>
  • 25. Atributos <X> <A mark="a1"/> <A mark="a2"/> <A mark="a3"/> <B id="b001" /> <C ref="a3" /> <D ref="a1 b001 a2" /> </X>
  • 26. Atributos  Especificando valores de atributo permitidos <!ELEMENT X(A+, B+)> <!ELEMENT A (#PCDATA)> <!ELEMENT B (#PCDATA)> <!ATTLIST A true ( yes | no ) #REQUIRED> <!ATTLIST B month (1|2|3|4|5|6|7|8|9|10|11|12) #IMPLIED>
  • 27. Atributos  Valores permitidos <X> <A true="yes"/> <A true="no"/> <A true="yes"/> <B month="8" /> <B month="2" /> <B month="12" /> </X>  Valores default <!ATTLIST A true ( yes | no ) "yes">
  • 28. Atributos  Elemento só com atributos, sem texto (Vazio) <!ELEMENT A EMPTY> Exemplo: <X> <A true="yes"/> <A true="no"></A> </X>
  • 29. Entidades  Entidades são variáveis usadas para definir atalhos para textos padrão ou caracteres especiais.  “Entity references” são referências a Entidades.  Entidades podem ser declaradas internamente ou externamente ou parametrizadas.  Nota: Uma entidade possui três partes: o ampersand (&), o nome e um ponto vírgula(;).
  • 30. Entidades  Entidades Declaradas Internamente <!ENTITY entity-name "entity-value"> <!ENTITY writer "Donald Duck."> <!ENTITY copyright "Copyright W3Schools."> <author>&writer;&copyright;</author>  Entidades Declaradas Externamente <!ENTITY entity-name SYSTEM "URI/URL"> <!ENTITY writer SYSTEM "http://www.w3schools.com/Entidades.dtd"> <!ENTITY copyright SYSTEM "http://www.w3schools.com/Entidades.dtd"> <author>&writer;&copyright;</author>
  • 31. Entidades  Entidades parametrizadas  As entidades de parâmetro ou parametrizadas são válidas somente em DTDs, funcionam como abreviaturas de declarações e são declaradas na DTD por meio do símbolo % precedido ao nome da entidade.  Por exemplo: <!ENTITY % livro “(titulo, autor, editora, preco)”> <!ELEMENT exemplo %livro;>  Esse exemplo determina que um elemento livro pode ter somente filhos do tipo titulo, autor, editora e preço.
  • 32. Notações  Descrevem o formato dos objectos de dados  São normalmente usadas para descrever o formato dos objectos binários, como arquivos gráficos  Mecanismo para associar entidades unparsed ou não analisáveis com a ferramenta apropriada  Em caso de uma imagem, pode ser um visualizador <!NOTATION GIF89a PUBLIC “-/CompuServe//NOTATION Graphics Interchange Format 89a//EN” “c:windowskodakprv.exe”>  Pode-se usar associações de arquivos <!NOTATION GIF89a SYSTEM “GIF”> <!NOTATION GIF89a SYSTEM “image/gif”>