A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Document Type Definition - DTD

Apresentações semelhantes


Apresentação em tema: "Document Type Definition - DTD"— Transcrição da apresentação:

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 '?> <!DOCTYPE tutorial [ <!ELEMENT tutorial (#PCDATA)>]> <tutorial> Tutorial de DTD </tutorial>

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

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

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

8 Seleção “|” <!ELEMENT XXX (AAA , BBB)>
<!ELEMENT AAA (CCC , DDD)> <!ELEMENT BBB (CCC | DDD)> <!ELEMENT CCC (#PCDATA)> <!ELEMENT DDD (#PCDATA)>

9 Intercalação de texto e elementos
O elemento BBB pode conter qualquer combinação de texto e do elemento CCC: <!ELEMENT tutorial (AAA* , BBB)> <!ELEMENT XXX (AAA+ , BBB+)> <!ELEMENT AAA (BBB | CCC )> <!ELEMENT BBB (#PCDATA | CCC )*> <!ELEMENT CCC (#PCDATA)>

10 Exercício Construa um XML válido para o DTD:
<!ELEMENT tutorial (AAA* , BBB)> <!ELEMENT XXX (AAA+ , BBB+)> <!ELEMENT AAA (BBB | CCC )> <!ELEMENT BBB (#PCDATA | CCC )*> <!ELEMENT CCC (#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 <!ELEMENT attributes (#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

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. <!ELEMENT attributes (#PCDATA)> <!ATTLIST attributes 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 <!ELEMENT XXX (AAA+ , BBB+ , CCC+)>
<!ELEMENT AAA (#PCDATA)> <!ELEMENT BBB (#PCDATA)> <!ELEMENT CCC (#PCDATA)> <!ATTLIST AAA id ID #REQUIRED> <!ATTLIST BBB code ID #IMPLIED list NMTOKEN #IMPLIED> <!ATTLIST CCC 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 <!ELEMENT XXX (AAA+ , BBB+, CCC+, DDD+)> <!ELEMENT AAA (#PCDATA)> <!ELEMENT BBB (#PCDATA)> <!ELEMENT CCC (#PCDATA)> <!ELEMENT DDD (#PCDATA)> <!ATTLIST AAA mark ID #REQUIRED> <!ATTLIST BBB id ID #REQUIRED> <!ATTLIST CCC ref IDREF #REQUIRED> <!ATTLIST DDD ref IDREFS #REQUIRED>

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

18 Especificando valores de atributo permitidos
<!ELEMENT XXX (AAA+, BBB+)> <!ELEMENT AAA (#PCDATA)> <!ELEMENT BBB (#PCDATA)> <!ATTLIST AAA true ( yes | no ) #REQUIRED> <!ATTLIST BBB 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"/> <BBB month="8" /> <BBB month="2" /> <BBB month="12" /> </XXX>

20 Valor Default <!ATTLIST AAA true ( yes | no ) "yes">

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

22


Carregar ppt "Document Type Definition - DTD"

Apresentações semelhantes


Anúncios Google