1 / 22

D ocument T ype D efinition - DTD

D ocument T ype D efinition - DTD. Criando Documentos XML “Válidos”. Introdução . Um documento XML é válido somente se este: possui um DTD associado a ele está de acordo com com as restrições impostas no DTD. Introdução.

kirti
Download Presentation

D ocument T ype D efinition - DTD

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Document Type Definition - DTD Criando Documentos XML “Válidos”

  2. Introdução • Um documento XML é válido somente se este: • possui um DTD associado a ele • está de acordo com com as restrições impostas no DTD

  3. Introdução • O DTD deve aparecer antes do primeiro elemento em um documento XML ou como um documento a parte. • O nome após a etiqueta DOCTYPE no DTD deve ser o nome da raiz do documento XML

  4. Introdução • Exemplo: Um documento XML pode conter apenas o elemento raiz tutorial contendo algum texto: <?xml version='1.0' encoding='ISO-8859-1'?> <!DOCTYPE tutorial [ <!ELEMENTtutorial(#PCDATA)>]> <tutorial> Tutorial de DTD </tutorial>

  5. Introdução <?xml version='1.0' encoding='ISO-8859-1'?> <!DOCTYPE tutorial [ <!ELEMENTtutorial (AAA,BBB)> <!ELEMENTAAA(#PCDATA)> <!ELEMENTBBB(#PCDATA)> ]> <tutorial> <AAA/> <BBB/> </tutorial>

  6. Elementos aninhados • Zero ou mais elementos AAA seguidos de um único elemento BBB: <!ELEMENTtutorial (AAA*,BBB)> • Um ou mais elementos AAA seguidos de um único elemento BBB: <!ELEMENTtutorial (AAA+,BBB)> • AAA opcional: <!ELEMENTtutorial (AAA?,BBB)>

  7. Exercício • Construa três exemplos válidos e três inválidos de documentos XML baseados no DTD abaixo: <!ELEMENTXXX (AAA?,BBB+)> <!ELEMENTAAA (CCC?,DDD*)> <!ELEMENTBBB (CCC,DDD)> <!ELEMENTCCC(#PCDATA)> <!ELEMENTDDD(#PCDATA)>

  8. Seleção “|” <!ELEMENTXXX (AAA,BBB)> <!ELEMENTAAA (CCC,DDD)> <!ELEMENTBBB (CCC|DDD)> <!ELEMENTCCC(#PCDATA)> <!ELEMENTDDD(#PCDATA)>

  9. Intercalação de texto e elementos • O elemento BBB pode conter qualquer combinação de texto e do elemento CCC: <!ELEMENTtutorial (AAA*,BBB)> <!ELEMENTXXX (AAA+,BBB+)> <!ELEMENTAAA (BBB|CCC )> <!ELEMENTBBB (#PCDATA|CCC )*> <!ELEMENTCCC(#PCDATA)>

  10. Exercício • Construa um XML válido para o DTD: <!ELEMENTtutorial (AAA*,BBB)> <!ELEMENTXXX (AAA+,BBB+)> <!ELEMENTAAA (BBB|CCC )> <!ELEMENTBBB (#PCDATA|CCC )*> <!ELEMENTCCC(#PCDATA)>

  11. 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.

  12. Atributos <!ELEMENTattributes(#PCDATA)> <!ATTLISTattributes 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

  13. NMTOKEN(S) • 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. <!ELEMENTattributes(#PCDATA)> <!ATTLISTattributes aaa CDATA#IMPLIED bbb NMTOKEN#REQUIRED ccc NMTOKENS#REQUIRED>

  14. 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.

  15. Tipo ID <!ELEMENTXXX (AAA+,BBB+,CCC+)> <!ELEMENTAAA(#PCDATA)> <!ELEMENTBBB(#PCDATA)> <!ELEMENTCCC(#PCDATA)> <!ATTLISTAAA id ID#REQUIRED> <!ATTLISTBBB code ID#IMPLIED list NMTOKEN#IMPLIED> <!ATTLISTCCC X ID#REQUIRED Y NMTOKEN#IMPLIED>

  16. IDREF • Um atributo IDREF deve referencia algum ID existente no documento. IDREFS referencia um seqüência de IDs <!ELEMENTXXX (AAA+,BBB+,CCC+,DDD+)> <!ELEMENTAAA(#PCDATA)> <!ELEMENTBBB(#PCDATA)> <!ELEMENTCCC(#PCDATA)> <!ELEMENTDDD(#PCDATA)> <!ATTLISTAAA mark ID#REQUIRED> <!ATTLISTBBB id ID#REQUIRED> <!ATTLISTCCC ref IDREF#REQUIRED> <!ATTLISTDDD ref IDREFS#REQUIRED>

  17. IDREF - Exemplo <XXX> <AAA mark="a1"/> <AAA mark="a2"/> <AAA mark="a3"/> <BBB id="b001" /> <CCC ref="a3" /> <DDD ref="a1 b001 a2" /> </XXX>

  18. Especificando valores de atributo permitidos <!ELEMENTXXX (AAA+,BBB+)> <!ELEMENTAAA(#PCDATA)> <!ELEMENTBBB(#PCDATA)> <!ATTLISTAAA true ( yes | no ) #REQUIRED> <!ATTLISTBBB month (1|2|3|4|5|6|7|8|9|10|11|12) #IMPLIED>

  19. Valores permitidos - Exemplo <XXX> <AAA true="yes"/> <AAA true="no"/> <AAA true="yes"/> <BBB month="8" /> <BBB month="2" /> <BBB month="12" /> </XXX>

  20. Valor Default <!ATTLISTAAA true ( yes | no ) "yes">

  21. Elemento só com atributos, sem texto (Vazio) <!ELEMENTAAAEMPTY> Exemplo: <XXX> <AAA true="yes"/> <AAA true="no"></AAA> </XXX>

More Related