SlideShare uma empresa Scribd logo
1 de 33
XML – DTD
(Document Type Definitions)
Prof. Aldo de Queiroz Jr
aldo.queiroz@uniderp.edu.br
XML - DTD
 DTD (Document Type Definition) é um arquivo
de texto opcional contendo as regras de
formação da estrutura de um documento XML.
 Serve para modelar ou estabelecer o esquema
de um documento XML.
 Consiste na declaração de ELEMENTOS,
ATRIBUTOS e ENTIDADES que serão usadas
para criar documentos XML válidos.
 Permite a validação de arquivos XML recebidos.
XML - DTD
 Existem várias formas para declarar
DTD's:
DTD interno
DTD interno e externo
DTD externo
 DTD interno
<?xml version=“1.0” encoding="ISO-8859-1"?>
<!DOCTYPE curso [
<!ELEMENT CURSO (DISCIPLINA*)>
<!ELEMENT DISCIPLINA (OBJETIVO, METODOLOGIA, avaliacao)>
<!ATTLIST DISCIPLINA sem #REQUIRED>
...
]>
<CURSO>
<DISCIPLINA sem=“4”>Linguagem IV
<OBJETIVO>Ensinar XML</OBJETIVO>
<METODOLOGIA>Laboratório</METODOLOGIA>
<avaliacao>3 provas</avaliacao>
</DISCIPLINA>
</CURSO>
curso.xml
 DTD externo
<?xml version=“1.0” encoding="ISO-8859-1"?>
<!DOCTYPE curso SYSTEM “curso.dtd”>
<CURSO>
<DISCIPLINA sem=“4”>Linguagem IV
<OBJETIVO>Ensinar XML</OBJETIVO>
<METODOLOGIA>Laboratorio</METODOLOGIA>
<avaliacao>3 provas</avaliacao>
</DISCIPLINA>
</CURSO>
<!ELEMENT CURSO (DISCIPLINA*)>
<!ELEMENT DISCIPLINA (OBJETIVO,
METODOLOGIA, avaliacao)>
<!ATTLIST DISCIPLINA sem #REQUIRED>
...
curso.xml
curso.dtd
 DTD interno e externo
<?xml version=“1.0” encoding="ISO-8859-1"?>
<!DOCTYPE curso SYSTEM “curso.dtd” [
<!ELEMENT OBJETIVO (#PCDATA)>
<!ELEMENT METODOLOGIA (#PCDATA)>
<!ELEMENT avaliacao (#PCDATA)>
]>
<CURSO>
<DISCIPLINA sem=“4”>Linguagem IV
<OBJETIVO>Ensinar XML</OBJETIVO>
<METODOLOGIA>Laboratório</METODOLOGIA>
<avaliacao>3 provas</avaliacao>
</DISCIPLINA>
</CURSO>
curso.xml
<!ELEMENT CURSO (DISCIPLINA*)>
<!ELEMENT DISCIPLINA (OBJETIVO, METODOLOGIA, avaliacao)>
<!ATTLIST DISCIPLINA sem #REQUIRED>
curso.dtd
Estrutura do DTD
Composta por declarações, as quais
utilizam a sintaxe:
<! ...... >
 Definição de elemento
<!ELEMENT ...>
 Definição de atributos
<!ATTLIST ...>
 Definição de entidades
<!ENTITY ...>
DTD - Elementos
<!ELEMENT nome (lista) palavra-chave>
Declara um elemento ou tag
O elemento criado é especificado por nome
Lista enumera todas as tags que podem ser
usadas internamente à tag nome ou, então,
indica o conteúdo de texto (#PCDATA)
Palavra-chave indicam a opcionalidade ou
obrigatoriedade das tags e conteúdos
internas. Pode ser EMPTY ou ANY
DTD - Elementos
Elementos com conteúdo de caracteres
<!ELEMENT NOME (#PCDATA)>
Em um documento XML tem-se:
<NOME>Anderson Pereira</NOME>
DTD - Elementos
 Conector de Sequência (,) - Elementos com filhos
(elementos internos) obrigatórios.
<!ELEMENT CLIENTE (NOME, TELEFONE, CPF)>
 Em um documento XML tem-se:
<CLIENTE>
<NOME> ... </NOME>
<TELEFONE> ... </TELEFONE>
<CPF> ... </CPF>
</CLIENTE>
O arquivo DTD também deve conter a especificação
dos elementos NOME, TELEFONE e CPF
DTD - Elementos
Conector de Escolha (|) - Elementos com
filhos (elementos internos) opcionais.
<!ELEMENT TIPOCLIENTE (
PESSOAFISICA | PESSOAJURIDICA)>
Em um documento XML tem-se:
<TIPOCLIENTE>
<PESSOAJURIDICA> Consultoria S.A. </PESSOAJURIDICA>
</TIPOCLIENTE>
DTD - Elementos
 Alguns modificadores especiais podem ser usados
na lista de elementos
+: indica uma ou mais ocorências
*: indica zero ou mais ocorrências
?: indica zero ou uma ocorrência
<!ELEMENT EMPRESA (CLIENTE*)>
<!ELEMENT CLIENTE (NOME, TELEFONE+, CPF?)>
Uma empresa tem zero ou mais clientes.
Cada cliente possui um nome, um ou mais
telefones e zero ou um CPF.
DTD - Elementos
 Elementos que aceitam textos e outros elementos
internos
<!ELEMENT EMPRESA ANY>
 Uso de elementos mistos no documento XML
<EMPRESA>Universidade Católica Dom Bosco
<AREA>Educação</AREA>
</EMPRESA>
DTD - Elementos
Criação de elementos vazios
<!ELEMENT AUTOR EMPTY>
Uso de elementos vazios no documento XML
<br/>
ou
<br></br>
DTD - Atributos
<!ATTLIST tag lista-atributo tipo-atributo valor-padrão>
 Declara atributos para os elementos
 Tag é o nome do elemento associado
 Lista-atributo é um ou mais atributos para a tag
 Tipo-atributo é o valor que o atributo pode assumir
 Valor-padrão é o valor que o processador XML
assume se nenhum valor for fornecido pelo usuário
no documento XML
DTD - Atributos
 Os tipos de atributos podem ser
CDATA
 texto qualquer, exceto <, > e &
ID
 identificador único no arquivo XML
IDREF
 referência ao identificador de outro elemento
ENTITY
 nome de uma entidade externa
DTD - Atributos
 O valor-padrão pode ser:
#REQUIRED: uso obrigatório do atributo
#IMPLIED: o atributo é opcional na tag
“valor”: o valor dado é o padrão para
cada ocorrência
#FIXED: o atributo tem valor fixo
DTD - Atributos
 Declara um atributo obrigatório nome para o
elemento EMPRESA
<!ATTLIST EMPRESA nome CDATA #REQUIRED>
 Em XML podemos ter
<EMPRESA nome=“WW3”>...</EMPRESA>
 Mas não podemos ter
<EMPRESA>...</EMPRESA>
DTD - Atributos
Declara um atributo obrigatório tamanho para
a tag EMPRESA que deve conter um dos
seguintes valores: pequena, média ou grande.
O valor padrão é pequena.
<!ATTLIST EMPRESA tamanho (peq|med|grd) "peq" #REQUIRED>
Em XML podemos ter
<EMPRESA tamanho=“med”>...</EMPRESA>
DTD - Atributos
 Declara um atributo opcional tamanho para a tag
EMPRESA com valor padrão "pequena".
<!ATTLIST EMPRESA tamanho CDATA "peq“ #IMPLIED >
 Em XML podemos ter
<EMPRESA>...</EMPRESA>
<EMPRESA tamanho=“grd”>...</EMPRESA>
DTD - Atributos
 Declara o atributo opcional tipo para o elemento
EMPRESA que só pode assumir um dos valores
especificados – micro, pequena, grande. Não há
um valor padrão, portanto o processador escolhe
aleatoriamente um valor para o atributo tipo.
<!ATTLIST EMPRESA tipo (micro|pequena|grande) #IMPLIED>
 No documento XML tem-se
<EMPRESA>
...
</EMPRESA>
<EMPRESA tipo=“grande”>
...
</EMPRESA>
<EMPRESA tipo=“A”>
...
</EMPRESA>
DTD - Atributos
Declara três atributos para o elemento
EMPRESA com valores padrão (default)
<!ATTLIST EMPRESA tipo CDATA "micro"
faturamento CDATA "baixo"
funcionarios CDATA "menos de 100">
Caso os valores dos atributos tipo,
faturamento e funcionarios não seja
fornecido no documento XML, o processador
assume, respectivamente, os valores micro,
baixo e menos de 100.
DTD - Atributos
 Em um documento XML podemos ter
<EMPRESA tipo=“multinacional”>
.
.
.
</EMPRESA>
<EMPRESA faturamento=“medio” funcionarios=“2300”>
.
.
.
</EMPRESA>
É uma empresa
multinacional com
faturamento baixo
e menos de 100
funcionários
É uma micro
empresa com
faturamento
médio e 2300
funcionários
DTD - Atributos
Declara o atributo com valor fixo rodas
para o elemento CARRO com o valor 4
<!ATTLIST AUTOMOVEL rodas CDATA #FIXED "4">
No documento XML tem-se
<AUTOMOVEL rodas=“4">Fusca</AUTOMOVEL>
<AUTOMOVEL rodas=“4">Ferrari</AUTOMOVEL>
<AUTOMOVEL rodas=“4">Fusca</ AUTOMOVEL>
<AUTOMOVEL rodas=“2">Honda CG-125</ AUTOMOVEL>
DTD - Atributos
Declara o atributo obrigatório RA para o
elemento ALUNO, cujo valor deve ser único
no documento XML
<!ATTLIST ALUNO RA ID #REQUIRED>
No documento XML tem-se
<ALUNO RA="89021-1">Fulano de Tal</ALUNO>
<ALUNO RA="84317-9">Beltrano Disso</ALUNO>
<ALUNO RA="89021-1">Fulano de Tal</ALUNO>
<ALUNO RA=" 89021-1 ">Beltrano Disso</ALUNO>
DTD - Atributos
 Declara o atributo obrigatório RA para o elemento
NOTA que é uma referência a um identificador que
existe no documento XML
 No documento XML Aluno
<!ATTLIST ALUNO RA ID #REQUIRED>
<ALUNO RA="89021-1">Fulano de Tal</ALUNO>
<ALUNO RA="84317-9">Beltrano Disso</ALUNO>
No documento XML Nota
<!ATTLIST NOTA cod IDREF #REQUIRED>
<NOTA cod="89021-1">9,0</NOTA>
<NOTA cod="84317-9">4,5</NOTA>
DTD - Atributos
Exemplos de atributos:
<!ATTLIST pessoa genero CDATA “masculino">
<!ATTLIST pessoa genero CDATA #FIXED "masculino">
<!ATTLIST pessoa genero CDATA #REQUIRED>
<!ATTLIST pessoa genero CDATA #IMPLIED>
<!ATTLIST pessoa genero (masculino|feminino) "masculino">
DTD - Entidades
Entidades servem para
Substituição automática de conteúdo
Referência a documentos externos
Controlar parâmetros em documentos DTD
Processamento condicional
DTD - Entidades
<!ENTITY nome frase>
Declara entidades
Globais
De parâmetro
nome é a identificação única da entidade
frase é o conteúdo
DTD - Entidades
<!ENTITY personagem “Mickey Mouse">
Quando a entidade &personagem; aparecer
em um documento XML, ela será substituída
por "Mickey Mouse".
<NOME>&personagem</NOME>
<NOME>Mickey Mouse</NOME>
DTD - Entidades
<!ENTITY resumo SYSTEM
"http://www.unaes.br/resumo.xml">
A declaração acima substitui a referência &resumo;
pelo conteúdo de http://www.unaes.br/resumo.xml
DTD - Entidades
Entidades de parâmetro atuam apenas dentro
de DTDs e não podem ser processadas em
documentos XML
Esse tipo de entidade é declarada da seguinte
forma:
<!ENTITY % nome "tipo">
nome identifica a entidade
tipo pode ser o tipo de atibutos ou uma lista de
elementos
DTD - Entidades
<!ENTITY % string "CDATA">
<!ENTITY % chave "ID">
<!ENTITY % lista "MEMORIA, VELOCIDADE">
<!ELEMENT MICROCOMPUTADOR ANY>
<!ELEMENT MICRO (lista)>
<!ATTLIST MICRO codigo %chave; #REQUIRED>
<!ELEMENT MEMORIA (#PCDATA)>
<!ATTLIST MEMORIA tipo %string; #REQUIRED>
<!ELEMENT VELOCIDADE (#PCDATA)>

Mais conteúdo relacionado

Destaque

XML and Web Services with PHP5 and PEAR
XML and Web Services with PHP5 and PEARXML and Web Services with PHP5 and PEAR
XML and Web Services with PHP5 and PEARStephan Schmidt
 
Introduction4 SQLite
Introduction4 SQLiteIntroduction4 SQLite
Introduction4 SQLiteStanley Huang
 
Programação Concorrente - Aula 02
Programação Concorrente - Aula 02Programação Concorrente - Aula 02
Programação Concorrente - Aula 02thomasdacosta
 
Programação Concorrente - Aula 01
Programação Concorrente - Aula 01Programação Concorrente - Aula 01
Programação Concorrente - Aula 01thomasdacosta
 
Programação Concorrente - Curso Completo
Programação Concorrente - Curso CompletoProgramação Concorrente - Curso Completo
Programação Concorrente - Curso Completothomasdacosta
 
SQL Server - Querying and Managing XML Data
SQL Server - Querying and Managing XML DataSQL Server - Querying and Managing XML Data
SQL Server - Querying and Managing XML DataMarek Maśko
 
SQLite: Light, Open Source Relational Database Management System
SQLite: Light, Open Source Relational Database Management SystemSQLite: Light, Open Source Relational Database Management System
SQLite: Light, Open Source Relational Database Management SystemTanner Jessel
 
Introduction to xml
Introduction to xmlIntroduction to xml
Introduction to xmlGtu Booker
 
Graphical User Interface (Gui)
Graphical User Interface (Gui)Graphical User Interface (Gui)
Graphical User Interface (Gui)Bilal Amjad
 

Destaque (20)

XML and Web Services with PHP5 and PEAR
XML and Web Services with PHP5 and PEARXML and Web Services with PHP5 and PEAR
XML and Web Services with PHP5 and PEAR
 
Introduction4 SQLite
Introduction4 SQLiteIntroduction4 SQLite
Introduction4 SQLite
 
Programação Concorrente - Aula 02
Programação Concorrente - Aula 02Programação Concorrente - Aula 02
Programação Concorrente - Aula 02
 
Xml
XmlXml
Xml
 
HDMI
HDMIHDMI
HDMI
 
Programação Concorrente - Aula 01
Programação Concorrente - Aula 01Programação Concorrente - Aula 01
Programação Concorrente - Aula 01
 
Hdmi cables
Hdmi cablesHdmi cables
Hdmi cables
 
SQLite 3
SQLite 3SQLite 3
SQLite 3
 
Programação Concorrente - Curso Completo
Programação Concorrente - Curso CompletoProgramação Concorrente - Curso Completo
Programação Concorrente - Curso Completo
 
SQL Server - Querying and Managing XML Data
SQL Server - Querying and Managing XML DataSQL Server - Querying and Managing XML Data
SQL Server - Querying and Managing XML Data
 
SQLite: Light, Open Source Relational Database Management System
SQLite: Light, Open Source Relational Database Management SystemSQLite: Light, Open Source Relational Database Management System
SQLite: Light, Open Source Relational Database Management System
 
SQLite - Overview
SQLite - OverviewSQLite - Overview
SQLite - Overview
 
Xml
XmlXml
Xml
 
Getting Started with SQLite
Getting Started with SQLiteGetting Started with SQLite
Getting Started with SQLite
 
Xml
XmlXml
Xml
 
XML
XMLXML
XML
 
Introduction to xml
Introduction to xmlIntroduction to xml
Introduction to xml
 
Graphical User Interface (Gui)
Graphical User Interface (Gui)Graphical User Interface (Gui)
Graphical User Interface (Gui)
 
Introduction to XML
Introduction to XMLIntroduction to XML
Introduction to XML
 
Uml - An Overview
Uml - An OverviewUml - An Overview
Uml - An Overview
 

Semelhante a XML - Parte 2

Semelhante a XML - Parte 2 (20)

Banco de Dados XML
Banco de Dados XMLBanco de Dados XML
Banco de Dados XML
 
Document Type Definition
Document Type DefinitionDocument Type Definition
Document Type Definition
 
Dtd
DtdDtd
Dtd
 
HTML&CSS 2 - Intermediate HTML
HTML&CSS 2 - Intermediate HTMLHTML&CSS 2 - Intermediate HTML
HTML&CSS 2 - Intermediate HTML
 
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
 
XML
XMLXML
XML
 
XML_WS.pdf
XML_WS.pdfXML_WS.pdf
XML_WS.pdf
 
RCOM 11º Ano - HTML
RCOM 11º Ano - HTMLRCOM 11º Ano - HTML
RCOM 11º Ano - HTML
 
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
 
Programação Web com HTML e CSS
Programação Web com HTML e CSSProgramação Web com HTML e CSS
Programação Web com HTML e CSS
 
Aula Xml Schema - XSD
Aula Xml Schema - XSDAula Xml Schema - XSD
Aula Xml Schema - XSD
 
Angular >= 2 - One Framework Mobile & Desktop
Angular >= 2 - One Framework Mobile & DesktopAngular >= 2 - One Framework Mobile & Desktop
Angular >= 2 - One Framework Mobile & Desktop
 
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
 
XHTML Básico
XHTML BásicoXHTML Básico
XHTML Básico
 
Mini Curso PHP Twig - PHP Conference 2017
Mini Curso PHP Twig - PHP Conference 2017 Mini Curso PHP Twig - PHP Conference 2017
Mini Curso PHP Twig - PHP Conference 2017
 
12 sax
12 sax12 sax
12 sax
 
HTML - aula 1
HTML - aula 1HTML - aula 1
HTML - aula 1
 
html css js ajax exercícios de programação
html css js ajax exercícios de programaçãohtml css js ajax exercícios de programação
html css js ajax exercícios de programação
 
Resumos html
Resumos htmlResumos html
Resumos html
 
Seletores css
Seletores cssSeletores css
Seletores css
 

XML - Parte 2

  • 1. XML – DTD (Document Type Definitions) Prof. Aldo de Queiroz Jr aldo.queiroz@uniderp.edu.br
  • 2. XML - DTD  DTD (Document Type Definition) é um arquivo de texto opcional contendo as regras de formação da estrutura de um documento XML.  Serve para modelar ou estabelecer o esquema de um documento XML.  Consiste na declaração de ELEMENTOS, ATRIBUTOS e ENTIDADES que serão usadas para criar documentos XML válidos.  Permite a validação de arquivos XML recebidos.
  • 3. XML - DTD  Existem várias formas para declarar DTD's: DTD interno DTD interno e externo DTD externo
  • 4.  DTD interno <?xml version=“1.0” encoding="ISO-8859-1"?> <!DOCTYPE curso [ <!ELEMENT CURSO (DISCIPLINA*)> <!ELEMENT DISCIPLINA (OBJETIVO, METODOLOGIA, avaliacao)> <!ATTLIST DISCIPLINA sem #REQUIRED> ... ]> <CURSO> <DISCIPLINA sem=“4”>Linguagem IV <OBJETIVO>Ensinar XML</OBJETIVO> <METODOLOGIA>Laboratório</METODOLOGIA> <avaliacao>3 provas</avaliacao> </DISCIPLINA> </CURSO> curso.xml
  • 5.  DTD externo <?xml version=“1.0” encoding="ISO-8859-1"?> <!DOCTYPE curso SYSTEM “curso.dtd”> <CURSO> <DISCIPLINA sem=“4”>Linguagem IV <OBJETIVO>Ensinar XML</OBJETIVO> <METODOLOGIA>Laboratorio</METODOLOGIA> <avaliacao>3 provas</avaliacao> </DISCIPLINA> </CURSO> <!ELEMENT CURSO (DISCIPLINA*)> <!ELEMENT DISCIPLINA (OBJETIVO, METODOLOGIA, avaliacao)> <!ATTLIST DISCIPLINA sem #REQUIRED> ... curso.xml curso.dtd
  • 6.  DTD interno e externo <?xml version=“1.0” encoding="ISO-8859-1"?> <!DOCTYPE curso SYSTEM “curso.dtd” [ <!ELEMENT OBJETIVO (#PCDATA)> <!ELEMENT METODOLOGIA (#PCDATA)> <!ELEMENT avaliacao (#PCDATA)> ]> <CURSO> <DISCIPLINA sem=“4”>Linguagem IV <OBJETIVO>Ensinar XML</OBJETIVO> <METODOLOGIA>Laboratório</METODOLOGIA> <avaliacao>3 provas</avaliacao> </DISCIPLINA> </CURSO> curso.xml <!ELEMENT CURSO (DISCIPLINA*)> <!ELEMENT DISCIPLINA (OBJETIVO, METODOLOGIA, avaliacao)> <!ATTLIST DISCIPLINA sem #REQUIRED> curso.dtd
  • 7. Estrutura do DTD Composta por declarações, as quais utilizam a sintaxe: <! ...... >  Definição de elemento <!ELEMENT ...>  Definição de atributos <!ATTLIST ...>  Definição de entidades <!ENTITY ...>
  • 8. DTD - Elementos <!ELEMENT nome (lista) palavra-chave> Declara um elemento ou tag O elemento criado é especificado por nome Lista enumera todas as tags que podem ser usadas internamente à tag nome ou, então, indica o conteúdo de texto (#PCDATA) Palavra-chave indicam a opcionalidade ou obrigatoriedade das tags e conteúdos internas. Pode ser EMPTY ou ANY
  • 9. DTD - Elementos Elementos com conteúdo de caracteres <!ELEMENT NOME (#PCDATA)> Em um documento XML tem-se: <NOME>Anderson Pereira</NOME>
  • 10. DTD - Elementos  Conector de Sequência (,) - Elementos com filhos (elementos internos) obrigatórios. <!ELEMENT CLIENTE (NOME, TELEFONE, CPF)>  Em um documento XML tem-se: <CLIENTE> <NOME> ... </NOME> <TELEFONE> ... </TELEFONE> <CPF> ... </CPF> </CLIENTE> O arquivo DTD também deve conter a especificação dos elementos NOME, TELEFONE e CPF
  • 11. DTD - Elementos Conector de Escolha (|) - Elementos com filhos (elementos internos) opcionais. <!ELEMENT TIPOCLIENTE ( PESSOAFISICA | PESSOAJURIDICA)> Em um documento XML tem-se: <TIPOCLIENTE> <PESSOAJURIDICA> Consultoria S.A. </PESSOAJURIDICA> </TIPOCLIENTE>
  • 12. DTD - Elementos  Alguns modificadores especiais podem ser usados na lista de elementos +: indica uma ou mais ocorências *: indica zero ou mais ocorrências ?: indica zero ou uma ocorrência <!ELEMENT EMPRESA (CLIENTE*)> <!ELEMENT CLIENTE (NOME, TELEFONE+, CPF?)> Uma empresa tem zero ou mais clientes. Cada cliente possui um nome, um ou mais telefones e zero ou um CPF.
  • 13. DTD - Elementos  Elementos que aceitam textos e outros elementos internos <!ELEMENT EMPRESA ANY>  Uso de elementos mistos no documento XML <EMPRESA>Universidade Católica Dom Bosco <AREA>Educação</AREA> </EMPRESA>
  • 14. DTD - Elementos Criação de elementos vazios <!ELEMENT AUTOR EMPTY> Uso de elementos vazios no documento XML <br/> ou <br></br>
  • 15. DTD - Atributos <!ATTLIST tag lista-atributo tipo-atributo valor-padrão>  Declara atributos para os elementos  Tag é o nome do elemento associado  Lista-atributo é um ou mais atributos para a tag  Tipo-atributo é o valor que o atributo pode assumir  Valor-padrão é o valor que o processador XML assume se nenhum valor for fornecido pelo usuário no documento XML
  • 16. DTD - Atributos  Os tipos de atributos podem ser CDATA  texto qualquer, exceto <, > e & ID  identificador único no arquivo XML IDREF  referência ao identificador de outro elemento ENTITY  nome de uma entidade externa
  • 17. DTD - Atributos  O valor-padrão pode ser: #REQUIRED: uso obrigatório do atributo #IMPLIED: o atributo é opcional na tag “valor”: o valor dado é o padrão para cada ocorrência #FIXED: o atributo tem valor fixo
  • 18. DTD - Atributos  Declara um atributo obrigatório nome para o elemento EMPRESA <!ATTLIST EMPRESA nome CDATA #REQUIRED>  Em XML podemos ter <EMPRESA nome=“WW3”>...</EMPRESA>  Mas não podemos ter <EMPRESA>...</EMPRESA>
  • 19. DTD - Atributos Declara um atributo obrigatório tamanho para a tag EMPRESA que deve conter um dos seguintes valores: pequena, média ou grande. O valor padrão é pequena. <!ATTLIST EMPRESA tamanho (peq|med|grd) "peq" #REQUIRED> Em XML podemos ter <EMPRESA tamanho=“med”>...</EMPRESA>
  • 20. DTD - Atributos  Declara um atributo opcional tamanho para a tag EMPRESA com valor padrão "pequena". <!ATTLIST EMPRESA tamanho CDATA "peq“ #IMPLIED >  Em XML podemos ter <EMPRESA>...</EMPRESA> <EMPRESA tamanho=“grd”>...</EMPRESA>
  • 21. DTD - Atributos  Declara o atributo opcional tipo para o elemento EMPRESA que só pode assumir um dos valores especificados – micro, pequena, grande. Não há um valor padrão, portanto o processador escolhe aleatoriamente um valor para o atributo tipo. <!ATTLIST EMPRESA tipo (micro|pequena|grande) #IMPLIED>  No documento XML tem-se <EMPRESA> ... </EMPRESA> <EMPRESA tipo=“grande”> ... </EMPRESA> <EMPRESA tipo=“A”> ... </EMPRESA>
  • 22. DTD - Atributos Declara três atributos para o elemento EMPRESA com valores padrão (default) <!ATTLIST EMPRESA tipo CDATA "micro" faturamento CDATA "baixo" funcionarios CDATA "menos de 100"> Caso os valores dos atributos tipo, faturamento e funcionarios não seja fornecido no documento XML, o processador assume, respectivamente, os valores micro, baixo e menos de 100.
  • 23. DTD - Atributos  Em um documento XML podemos ter <EMPRESA tipo=“multinacional”> . . . </EMPRESA> <EMPRESA faturamento=“medio” funcionarios=“2300”> . . . </EMPRESA> É uma empresa multinacional com faturamento baixo e menos de 100 funcionários É uma micro empresa com faturamento médio e 2300 funcionários
  • 24. DTD - Atributos Declara o atributo com valor fixo rodas para o elemento CARRO com o valor 4 <!ATTLIST AUTOMOVEL rodas CDATA #FIXED "4"> No documento XML tem-se <AUTOMOVEL rodas=“4">Fusca</AUTOMOVEL> <AUTOMOVEL rodas=“4">Ferrari</AUTOMOVEL> <AUTOMOVEL rodas=“4">Fusca</ AUTOMOVEL> <AUTOMOVEL rodas=“2">Honda CG-125</ AUTOMOVEL>
  • 25. DTD - Atributos Declara o atributo obrigatório RA para o elemento ALUNO, cujo valor deve ser único no documento XML <!ATTLIST ALUNO RA ID #REQUIRED> No documento XML tem-se <ALUNO RA="89021-1">Fulano de Tal</ALUNO> <ALUNO RA="84317-9">Beltrano Disso</ALUNO> <ALUNO RA="89021-1">Fulano de Tal</ALUNO> <ALUNO RA=" 89021-1 ">Beltrano Disso</ALUNO>
  • 26. DTD - Atributos  Declara o atributo obrigatório RA para o elemento NOTA que é uma referência a um identificador que existe no documento XML  No documento XML Aluno <!ATTLIST ALUNO RA ID #REQUIRED> <ALUNO RA="89021-1">Fulano de Tal</ALUNO> <ALUNO RA="84317-9">Beltrano Disso</ALUNO> No documento XML Nota <!ATTLIST NOTA cod IDREF #REQUIRED> <NOTA cod="89021-1">9,0</NOTA> <NOTA cod="84317-9">4,5</NOTA>
  • 27. DTD - Atributos Exemplos de atributos: <!ATTLIST pessoa genero CDATA “masculino"> <!ATTLIST pessoa genero CDATA #FIXED "masculino"> <!ATTLIST pessoa genero CDATA #REQUIRED> <!ATTLIST pessoa genero CDATA #IMPLIED> <!ATTLIST pessoa genero (masculino|feminino) "masculino">
  • 28. DTD - Entidades Entidades servem para Substituição automática de conteúdo Referência a documentos externos Controlar parâmetros em documentos DTD Processamento condicional
  • 29. DTD - Entidades <!ENTITY nome frase> Declara entidades Globais De parâmetro nome é a identificação única da entidade frase é o conteúdo
  • 30. DTD - Entidades <!ENTITY personagem “Mickey Mouse"> Quando a entidade &personagem; aparecer em um documento XML, ela será substituída por "Mickey Mouse". <NOME>&personagem</NOME> <NOME>Mickey Mouse</NOME>
  • 31. DTD - Entidades <!ENTITY resumo SYSTEM "http://www.unaes.br/resumo.xml"> A declaração acima substitui a referência &resumo; pelo conteúdo de http://www.unaes.br/resumo.xml
  • 32. DTD - Entidades Entidades de parâmetro atuam apenas dentro de DTDs e não podem ser processadas em documentos XML Esse tipo de entidade é declarada da seguinte forma: <!ENTITY % nome "tipo"> nome identifica a entidade tipo pode ser o tipo de atibutos ou uma lista de elementos
  • 33. DTD - Entidades <!ENTITY % string "CDATA"> <!ENTITY % chave "ID"> <!ENTITY % lista "MEMORIA, VELOCIDADE"> <!ELEMENT MICROCOMPUTADOR ANY> <!ELEMENT MICRO (lista)> <!ATTLIST MICRO codigo %chave; #REQUIRED> <!ELEMENT MEMORIA (#PCDATA)> <!ATTLIST MEMORIA tipo %string; #REQUIRED> <!ELEMENT VELOCIDADE (#PCDATA)>