O documento descreve XML (Extensible Markup Language), definindo-o como uma linguagem de marcação flexível baseada em SGML. Explica como XML pode ser usado para descrever a estrutura e conteúdo de documentos sem formatação. Fornece exemplos de como criar um documento XML para faturas e sua correspondente DTD e folha de estilos CSS.
2. XML
• eXtensible Markup Language
• Linguagem
• Sub-Conjunto da SGML
– Standard Generalized Markup Language
– Meta-linguagem complexa de descrição de
documentos
• Ficheiro que permite descrever a estrutura e
conteúdo dos documentos, não a sua
formatação
CJC 2005
3. XML
Titulo
Factura Numero
Dadoscliente Descrição
Serviços tipo n Preço
Hora
Total
CJC 2005
5. DTD
• Document Type Definition
• Define conjunto de regras a que os
elementos e atributos XML do documento
deve obedecer
• descreve
– Elementos e regras
– Atributos
– Entidades
CJC 2005
6. DTD
• Elementos
- marcas (ou tags referidos no ficheiro xml) são criadas a partir deles. Ex:
• Factura
• Titulo
• Numero
• Dadoscliente
• Nome
• Morada
• Regras
- <!ELEMENT TITULO (#PCDATA)> - O titulo é um contentor de caracteres
- <!ELEMENT TITULO ANY)> - pode ter qualquer tipo de conteúdo
- <!ELEMENT SERVICOS (DESCRICAO,PRECO,HORAS,TOTAL)> - diz
quais os elementos que podem fazer parte de um elemento
• Atributos
• <!ATTLIST SERVICOS TIPO
(CONSULTORIA,CONTABILIDADE,ENGENHARIA) #REQUIRED>
...
CJC 2005
7. DTD (factura.dtd)
<!-- DTD DA FACTURA-->
<!ELEMENT FACTURA (TITULO,DADOSCLIENTE,SERVICOS)>
<!ELEMENT TITULO (#PCDATA)>
<!ELEMENT DADOSCLIENTE (NOME,MORADA)>
<!ELEMENT NOME (#PCDATA)>
<!ELEMENT MORADA (RUA,CPOSTAL)>
<!ELEMENT SERVICOS (DESCRICAO,PRECO,HORAS,TOTAL)>
<!ATTLIST SERVICOS TIPO
(CONSULTORIA,CONTABILIDADE,ENGENHARIA)
#REQUIRED>
<!ELEMENT DESCRICAO (#PCDATA)>
<!ELEMENT PRECO (#PCDATA)>
<!ELEMENT HORAS (#PCDATA)>
<!ELEMENT TOTAL (#PCDATA)>
CJC 2005
8. Diagrama de Classes
FACTURA
+ TITULO : #PCDATA
FACTURA FACTURA
CLIENTE
DADOSCLIENTE
+ NOME : #PCDATA
CLIENTE
SERVICOS
MORADA SERVICOS
+ DESCRICAO : #PCDATA
MORADA
+ PRECO : #PCDATA
+ RUA : #PCDATA + HORAS : #PCDATA
+ CPOSTAL : #PCDATA + TOTAL : #PCDATA
+ TIPO : ENUMERATION
CJC 2005
10. XML factura.xml (nova versão)
<?xml version ="1.0" standalone="yes"?>
<?xml-stylesheet href="factura.css" type="text/css" ?>
<FACTURA>
<TITULO>Factura</TITULO>
<NUMERO>111</NUMERO>
<DADOSCLIENTE>
<NOME>Empresa 123</NOME>
<MORADA>
<RUA>Av. Liberdade 123</RUA> Ligação à folha
<CPOSTAL>1000 Lisboa</CPOSTAL>
</MORADA>
de estilos
</DADOSCLIENTE>
<SERVICOS TIPO="CONSULTORIA">
<DESCRICAO>relatorio estrategia</DESCRICAO>
<PRECO>30</PRECO>
<HORAS>2</HORAS>
<TOTAL>60</TOTAL>
</SERVICOS>
<SERVICOS TIPO="CONSULTORIA">
<DESCRICAO>relatorio GESI</DESCRICAO>
Mais uma linha
<PRECO>30</PRECO>
<HORAS>3</HORAS>
na factura
<TOTAL>90</TOTAL>
</SERVICOS>
</FACTURA>
CJC 2005
11. Folha de Estilos - XSL
• Extensible Style Languge
• Lingugem de transformação
• Linguagem de formatação
• Mais potente que CSS
CJC 2005
12. XMI
• eXtended Matadata Interchange
• Especificação de um modelo de troca de
informação para programas orientados a
objectos
• Foi definido tendo por base o XML e o
UML
CJC 2005
13. RSS
• RSS é um formato baseado em XMl
• permite a partilha simples de conteúdos
web.
• permite criar e disponibilizar facilmente os
conteúdos e integrá-los em portais ou sítios
de internet.
• permite que os utilizadores tenham acesso
facilitado a esses conteúdos através do seu
browser ou outras ferramentas.
CJC 2005
14. RSS?
• Really Simple Syndication
• Rich Site Summary
• RDF Site Summary
• Rich Site Syndication
• Rich Syndication Standard
• Existem vários formatos
• Os mais utilizados são:
• - RSS vs. 1.0 (utiliza formato RDF)
• - RSS vs. 2.0
CJC 2005
15. RSS
• Pode ser produzido pelas actualizações
feitas no nosso portal (ex.: Mambo)
• Pode ser colocado e visto no nosso portal o
RSS produzido por terceiros (ex.:PHP-
Nuke)
CJC 2005