D O C U M E N T T Y P E D E F I N I T I O NDTD
Objectivos O DTD define a estrutura do documento Com o DTD as aplicações podem verificar se osdocumentos estão correctos.
Declarações Um DTD é constituído por um conjunto dedeclarações: ELEMENT para anotações de elementos ATTLIST definição d...
Declarações Elementos Elementos são os principais blocos. Atributos Atributos fornecem informação adicional sobre elem...
Declarações Entidades Alguns caracteres por terem significado especial e precisam deuma forma especial de representação,...
Declarações PCDATA PCDATA significa Parsed Character DATA. Entenda “Character Data” como o texto compreendido entre as“...
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 te...
Elementos A declaração ELEMENT serve para declararelementos, com a seguinte sintaxe:<!ELEMENT element-name category>or<!E...
Elementos Elementos com PCDATA Elementos com apenas dados que serão analisados sãodeclarados com o parâmetro #PCDATA den...
Elementos Elementos com filhos (sequências) Elementos com um ou mais filhos são declarados com o nomedos elementos filho...
Elementos Declarando apenas uma ocorrência de um elemento<!ELEMENT element-name (child-name)> Declarando pelo menos uma ...
Elementos O elemento A tem zero ou mais elementos B seguidos deum único elemento C:<!ELEMENT A (B* , C)> O elemento A te...
Elementos Outras formas de declarar os elementos que seencontra em várias especificações:<!ELEMENT element-name - - (elem...
Atributos Servem para atribuir pares nome-valor com elementos. Atributos só podem aparecer em etiquetas de início e emet...
Atributos O tipo do atributo pode ser: CDATA O valor é “character data” (en1|en2|..) O valor deve ser de uma lista enum...
Atributos O default-value pode ser um dos seguintes: value O valor default do atributo #REQUIRED O atributo é obrigatór...
Atributos<!ELEMENT A(#PCDATA)><!ATTLIST attributesaaa CDATA #REQUIREDbbb CDATA #IMPLIED> A ordem dos atributos não import...
Atributos #REQUIRED O #REQUIRED é usado se não há um valor default a serdefinido e deseja-se forçar a presença do atribu...
Atributos #FIXED Usar #FIXED quando o atributo deve ter valores fixado quenão pode ser mudados pelo autor<!ATTLIST eleme...
Atributos #IMPLIED Usar #IMPLIED quando não se deseja forçar a existência doatributo e não tem um valor default definido...
Atributos Enumerated Attribute Values Usar “enumerated attribute” quando é desejado que o atributoseja um entre vários v...
Atributos NMTOKEN: letras, dígitos, ponto [ . ] , hífen [ - ], underline [ _ ] doispontos [ : ] . NMTOKENS: NMTOKEN mais...
Atributos Tipo ID Um atributo do tipo ID pode conter apenas caracteres permitidos pelo tipo NMTOKEN e deveminiciar por u...
Atributos IDREF Um atributo IDREF deve referencia algum ID existente no documento. IDREFS referencia umsequência de Ids<...
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)><!A...
Atributos Valores permitidos<X><A true="yes"/><A true="no"/><A true="yes"/><B month="8" /><B month="2" /><B month="12" />...
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 atalhospara textos padrão ou caracteres especiais. “Entity referen...
Entidades Entidades Declaradas Internamente<!ENTITY entity-name "entity-value"><!ENTITY writer "Donald Duck."><!ENTITY co...
Entidades Entidades parametrizadas As entidades de parâmetro ou parametrizadas são válidassomente em DTDs, funcionam com...
Notações Descrevem o formato dos objectos de dados São normalmente usadas para descrever o formato dos objectosbinários,...
Upcoming SlideShare
Loading in...5
×

Dtd

221

Published on

Document Type Definition - uma apresentação completa sobre o tema

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
221
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Dtd

  1. 1. D O C U M E N T T Y P E D E F I N I T I O NDTD
  2. 2. Objectivos O DTD define a estrutura do documento Com o DTD as aplicações podem verificar se osdocumentos estão correctos.
  3. 3. Declarações Um DTD é constituído por um conjunto dedeclaraçõ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. 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 <imgsrc="computer.gif" />
  5. 5. Declarações Entidades Alguns caracteres por terem significado especial e precisam deuma forma especial de representação, como por exemplo ocarácter "&nbsp;" que representa "no-breaking-space" noHTML. &lt; < less than(menor do que) &gt; > greater than(maior do que) &amp; & ampersand &apos; apostrophe(apóstrofe) &quot; " quotation mark(aspas)
  6. 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 houverentidades estas serão expandidas. As “tags” dentro do texto, sehouver, serão processadas CDATA CDATA significa Character DATA. No CDATA o texto nãoserá analisado sintacticamente.
  7. 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. 8. Elementos A declaração ELEMENT serve para declararelementos, com a seguinte sintaxe:<!ELEMENT element-name category>or<!ELEMENT element-name (element-content)> Elementos vazios Elementos vazios são declarados com a palavra reservadaEMPTY:<!ELEMENT element-name EMPTY>Ex: <!ELEMENT br EMPTY>
  9. 9. Elementos Elementos com PCDATA Elementos com apenas dados que serão analisados sãodeclarados 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. 10. Elementos Elementos com filhos (sequências) Elementos com um ou mais filhos são declarados com o nomedos elementos filhos.<!ELEMENT element-name (child1)>ou<!ELEMENT element-name (child1,child2,...)>
  11. 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 umElemento<!ELEMENT element-name (child-name*)> Declarando zero ou uma ocorrências de umElemento<!ELEMENT element-name (child-name?)>Declarando um ou outro conteúdo<!ELEMENT element-name (child-name-1 | child-name-2)>
  12. 12. Elementos O elemento A tem zero ou mais elementos B seguidos deum único elemento C:<!ELEMENT A (B* , C)> O elemento A tem um ou mais elementos B seguidos deum ú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 textoe do elemento B<!ELEMENT A (#PCDATA | B )*>
  13. 13. Elementos Outras formas de declarar os elementos que seencontra 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ãoteve ter conteúdo!
  14. 14. Atributos Servem para atribuir pares nome-valor com elementos. Atributos só podem aparecer em etiquetas de início e emetiquetas 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-typedefault-value> DTD Exemplo:<!ATTLIST A type CDATA "check"> XML Exemplo:<A type="check" />
  15. 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. 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 umelemento vazio com um atributo "width”. Se nenhum“width” for definido o seu valor default será “0”.
  17. 17. Atributos<!ELEMENT A(#PCDATA)><!ATTLIST attributesaaa CDATA #REQUIREDbbb CDATA #IMPLIED> A ordem dos atributos não importa Atributos CDATA: permite qualquer caracter de acordocom as regras de boa formação #REQUIRED: obrigatório #IMPLIED: Opcional
  18. 18. Atributos #REQUIRED O #REQUIRED é usado se não há um valor default a serdefinido 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. 19. Atributos #FIXED Usar #FIXED quando o atributo deve ter valores fixado quenã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. 20. Atributos #IMPLIED Usar #IMPLIED quando não se deseja forçar a existência doatributo 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. 21. Atributos Enumerated Attribute Values Usar “enumerated attribute” quando é desejado que o atributoseja 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. 22. Atributos NMTOKEN: letras, dígitos, ponto [ . ] , hífen [ - ], underline [ _ ] doispontos [ : ] . NMTOKENS: NMTOKEN mais o espaço em branco: um ou maisespaços em branco, return, fim de linha e tabulações.<!ELEMENT attributes (#PCDATA)><!ATTLIST attributesaaa CDATA #IMPLIEDbbb NMTOKEN #REQUIREDccc NMTOKENS #REQUIRED>
  23. 23. Atributos Tipo ID Um atributo do tipo ID pode conter apenas caracteres permitidos pelo tipo NMTOKEN e deveminiciar 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 doelemento.<!ELEMENT X(A+ , B+ , C+)><!ELEMENT A (#PCDATA)><!ELEMENT B (#PCDATA)><!ELEMENT C (#PCDATA)><!ATTLIST Aid ID #REQUIRED><!ATTLIST Bcode ID #IMPLIEDlist NMTOKEN #IMPLIED><!ATTLIST CX ID #REQUIREDY NMTOKEN #IMPLIED>
  24. 24. Atributos IDREF Um atributo IDREF deve referencia algum ID existente no documento. IDREFS referencia umsequência de Ids<!ELEMENT X (A+ , B+, C+, D+)><!ELEMENT A (#PCDATA)><!ELEMENT B (#PCDATA)><!ELEMENT C (#PCDATA)><!ELEMENT D (#PCDATA)><!ATTLIST Amark ID #REQUIRED><!ATTLIST Bid ID #REQUIRED><!ATTLIST Cref IDREF #REQUIRED><!ATTLIST Dref IDREFS #REQUIRED>
  25. 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. 26. Atributos Especificando valores de atributo permitidos<!ELEMENT X(A+, B+)><!ELEMENT A (#PCDATA)><!ELEMENT B (#PCDATA)><!ATTLIST Atrue ( yes | no ) #REQUIRED><!ATTLIST Bmonth (1|2|3|4|5|6|7|8|9|10|11|12) #IMPLIED>
  27. 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 Atrue ( yes | no ) "yes">
  28. 28. Atributos Elemento só com atributos, sem texto (Vazio)<!ELEMENT A EMPTY>Exemplo:<X><A true="yes"/><A true="no"></A></X>
  29. 29. Entidades Entidades são variáveis usadas para definir atalhospara textos padrão ou caracteres especiais. “Entity references” são referências a Entidades. Entidades podem ser declaradas internamente ouexternamente ou parametrizadas. Nota: Uma entidade possui três partes: oampersand (&), o nome e um pontovírgula(;).
  30. 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. 31. Entidades Entidades parametrizadas As entidades de parâmetro ou parametrizadas são válidassomente em DTDs, funcionam como abreviaturas dedeclaraçõ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 somentefilhos do tipo titulo, autor, editora e preço.
  32. 32. Notações Descrevem o formato dos objectos de dados São normalmente usadas para descrever o formato dos objectosbinários, como arquivos gráficos Mecanismo para associar entidades unparsed ou não analisáveiscom 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”>
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×