SlideShare une entreprise Scribd logo
1  sur  32
Télécharger pour lire hors ligne
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”>

Contenu connexe

En vedette

Rania Rasmy Resume
Rania Rasmy ResumeRania Rasmy Resume
Rania Rasmy Resume
Rania Rasmy
 
Nokia research center
Nokia research center Nokia research center
Nokia research center
Marcos Ruiz
 
Donor Driven AG Strategies
Donor Driven AG StrategiesDonor Driven AG Strategies
Donor Driven AG Strategies
Meredith Blair
 
Tomo-Mobile During Install
Tomo-Mobile During InstallTomo-Mobile During Install
Tomo-Mobile During Install
David Brooker
 
Informe tecnico sthefani y karen ramos
Informe tecnico sthefani y karen ramosInforme tecnico sthefani y karen ramos
Informe tecnico sthefani y karen ramos
Jenny Osorio Rodriguez
 
Thesis Succes in je zaak! (samenvatting)
Thesis Succes in je zaak! (samenvatting)Thesis Succes in je zaak! (samenvatting)
Thesis Succes in je zaak! (samenvatting)
Dave Beker
 
SILC Testimonials 092015
SILC Testimonials 092015SILC Testimonials 092015
SILC Testimonials 092015
Victoria Ross
 
Inhibitor Table
Inhibitor TableInhibitor Table
Inhibitor Table
Jacob Yu
 
OAK COOKBOOK RECIPES small
OAK COOKBOOK RECIPES smallOAK COOKBOOK RECIPES small
OAK COOKBOOK RECIPES small
Helena Buchmann
 

En vedette (20)

Programming 1 full
Programming 1 fullProgramming 1 full
Programming 1 full
 
PM_46 FINAL 2-1
PM_46 FINAL 2-1PM_46 FINAL 2-1
PM_46 FINAL 2-1
 
Rania Rasmy Resume
Rania Rasmy ResumeRania Rasmy Resume
Rania Rasmy Resume
 
Nokia research center
Nokia research center Nokia research center
Nokia research center
 
Final transcripts
Final transcriptsFinal transcripts
Final transcripts
 
Presentacion Nubefone-USA
Presentacion Nubefone-USAPresentacion Nubefone-USA
Presentacion Nubefone-USA
 
Donor Driven AG Strategies
Donor Driven AG StrategiesDonor Driven AG Strategies
Donor Driven AG Strategies
 
OpenAIRE - apresentação nas Jornadas da FCCN 2012 (relatório 2011 RCAAP)
OpenAIRE - apresentação nas Jornadas da FCCN 2012 (relatório 2011 RCAAP)OpenAIRE - apresentação nas Jornadas da FCCN 2012 (relatório 2011 RCAAP)
OpenAIRE - apresentação nas Jornadas da FCCN 2012 (relatório 2011 RCAAP)
 
yourprezi
yourpreziyourprezi
yourprezi
 
cgc-ug-pg-brochure15
cgc-ug-pg-brochure15cgc-ug-pg-brochure15
cgc-ug-pg-brochure15
 
Tomo-Mobile During Install
Tomo-Mobile During InstallTomo-Mobile During Install
Tomo-Mobile During Install
 
party pad aus
party pad ausparty pad aus
party pad aus
 
Informe tecnico sthefani y karen ramos
Informe tecnico sthefani y karen ramosInforme tecnico sthefani y karen ramos
Informe tecnico sthefani y karen ramos
 
tomas bjornsson
tomas bjornssontomas bjornsson
tomas bjornsson
 
Thesis Succes in je zaak! (samenvatting)
Thesis Succes in je zaak! (samenvatting)Thesis Succes in je zaak! (samenvatting)
Thesis Succes in je zaak! (samenvatting)
 
Bibliotecas, Web e Literacia: construir recursos e serviços em comunidade
Bibliotecas, Web e Literacia: construir recursos e serviços em comunidadeBibliotecas, Web e Literacia: construir recursos e serviços em comunidade
Bibliotecas, Web e Literacia: construir recursos e serviços em comunidade
 
SILC Testimonials 092015
SILC Testimonials 092015SILC Testimonials 092015
SILC Testimonials 092015
 
Inhibitor Table
Inhibitor TableInhibitor Table
Inhibitor Table
 
OAK COOKBOOK RECIPES small
OAK COOKBOOK RECIPES smallOAK COOKBOOK RECIPES small
OAK COOKBOOK RECIPES small
 
Rev. Marinha_Artig.
Rev. Marinha_Artig.Rev. Marinha_Artig.
Rev. Marinha_Artig.
 

Similaire à Dtd

Unidade4.1 Oracle Or
Unidade4.1 Oracle OrUnidade4.1 Oracle Or
Unidade4.1 Oracle Or
UFU
 
EXTREME LDAP - GABRIEL STEIN
EXTREME LDAP - GABRIEL STEINEXTREME LDAP - GABRIEL STEIN
EXTREME LDAP - GABRIEL STEIN
Tchelinux
 

Similaire à Dtd (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
 

Plus de Arlindo Santos

Gestão web sites - visão para além das questões técnicas
Gestão web sites  - visão para além das questões técnicasGestão web sites  - visão para além das questões técnicas
Gestão web sites - visão para além das questões técnicas
Arlindo Santos
 
Motivação para a multimédia
Motivação para a multimédiaMotivação para a multimédia
Motivação para a multimédia
Arlindo Santos
 
Guia da Gestão de Projectos Web
Guia da Gestão de Projectos WebGuia da Gestão de Projectos Web
Guia da Gestão de Projectos Web
Arlindo Santos
 

Plus de Arlindo Santos (12)

Marketing Digital: tendências e estratégias
Marketing Digital: tendências e estratégiasMarketing Digital: tendências e estratégias
Marketing Digital: tendências e estratégias
 
Mobile marketing
Mobile marketingMobile marketing
Mobile marketing
 
Temas dos trabalhos práticos
Temas dos trabalhos práticosTemas dos trabalhos práticos
Temas dos trabalhos práticos
 
Documento sobre o curso técnico superior profissional de Comunicação Digital
Documento sobre o curso técnico superior profissional de Comunicação DigitalDocumento sobre o curso técnico superior profissional de Comunicação Digital
Documento sobre o curso técnico superior profissional de Comunicação Digital
 
Conhecer os clientes e influenciadores
Conhecer os clientes e influenciadoresConhecer os clientes e influenciadores
Conhecer os clientes e influenciadores
 
Workshop sobre o Prezi na Escola Secundária de Valpaços
Workshop sobre o Prezi na Escola Secundária de ValpaçosWorkshop sobre o Prezi na Escola Secundária de Valpaços
Workshop sobre o Prezi na Escola Secundária de Valpaços
 
Gestão web sites - visão para além das questões técnicas
Gestão web sites  - visão para além das questões técnicasGestão web sites  - visão para além das questões técnicas
Gestão web sites - visão para além das questões técnicas
 
Cakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHPCakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHP
 
Frameworks de desenvolvimento web
Frameworks de desenvolvimento webFrameworks de desenvolvimento web
Frameworks de desenvolvimento web
 
Motivação para a multimédia
Motivação para a multimédiaMotivação para a multimédia
Motivação para a multimédia
 
Arduino
ArduinoArduino
Arduino
 
Guia da Gestão de Projectos Web
Guia da Gestão de Projectos WebGuia da Gestão de Projectos Web
Guia da Gestão de Projectos Web
 

Dernier

8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito
tatianehilda
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
AntonioVieira539017
 
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
marlene54545
 
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
TailsonSantos1
 

Dernier (20)

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
 
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
 
migração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenosmigração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenos
 
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
 
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxMonoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
 
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptxPlano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
 
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...
 
Conflitos entre: ISRAEL E PALESTINA.pdf
Conflitos entre:  ISRAEL E PALESTINA.pdfConflitos entre:  ISRAEL E PALESTINA.pdf
Conflitos entre: ISRAEL E PALESTINA.pdf
 
8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito
 
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfPROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.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
 
GÊNERO CARTAZ - o que é, para que serve.pptx
GÊNERO CARTAZ - o que é, para que serve.pptxGÊNERO CARTAZ - o que é, para que serve.pptx
GÊNERO CARTAZ - o que é, para que serve.pptx
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
 
Sistema de Bibliotecas UCS - Cantos do fim do século
Sistema de Bibliotecas UCS  - Cantos do fim do séculoSistema de Bibliotecas UCS  - Cantos do fim do século
Sistema de Bibliotecas UCS - Cantos do fim do século
 
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
 
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdfTCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.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
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
 
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
 
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
 

Dtd

  • 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”>