kNl Ff0l8.. 808l8 l0lf8, $88f0 8l00 Sumrio 1. Motivao para uso de XML 2. Caractersticas Gerais do XML 3. Exemplo de uso 4. Editores 1. Motivao para uso de XML - HTML : papel central na Web 1. Motivao para uso de XML - HTML : papel central na Web - Esquema de marcao para as pginas 1. Motivao para uso de XML - HTML : papel central na Web - Esquema de marcao para as pginas - Tempo curto de uso 1. Motivao para uso de XML - HTML : papel central na Web - Esquema de marcao para as pginas - Tempo curto de uso - Diversidade de modos de conexo: tv digital, handhels, telefones, carros, ... 2 1. Motivao para uso de XML - HTML : papel central na Web - Esquema de marcao para as pginas - Tempo curto de uso - Diversidade de modos de conexo: tv digital, handhels, telefones, carros, ... - Diversidade de mdias 1. Motivao para uso de XML - HTML : papel central na Web - Esquema de marcao para as pginas - Tempo curto de uso - Diversidade de modos de conexo: tv digital, handhels, telefones, carros, ... - Diversidade de mdias - Necessidade de custos menores 1. Motivao para uso de XML Dificuldades : - nmero grande de tags HTML, - interpretao de tags pelo browser - uso de tags pelo criador das pginas 1. Motivao para uso de XML Dificuldades : - nmero grande de tags HTML, - interpretao de tags pelo browser - uso de tags pelo criador das pginas - dificuldade de separar contedo e forma 1. Motivao para uso de XML Dificuldades : - nmero grande de tags HTML, - interpretao de tags pelo browser - uso de tags pelo criador das pginas - dificuldade de separar contedo e forma - pouca necessidade de clientes simples - muita necessidade de clientes complexos 1. Motivao para uso de XML Dificuldades : - nmero grande de tags HTML, - interpretao de tags pelo browser - uso de tags pelo criador das pginas - dificuldade de separar contedo e forma - pouca necessidade de clientes simples - muita necessidade de clientes complexos - melhorias nos formulrios 3 1. Motivao para uso de XML Dificuldades : - nmero grande de tags HTML, - interpretao de tags pelo browser - uso de tags pelo criador das pginas - dificuldade de separar contedo e forma - pouca necessidade de clientes simples - muita necessidade de clientes complexos - melhorias nos formulrios - combinaes com: computao grfica, animao, multimdia, e-commerce, matemtica, meta-dados 2. Caractersticas Gerais do XML - independente de plataforma - dependente de contedo - recomendada pelo W3C em 1998 2. Caractersticas Gerais do XML - independente de plataforma - dependente de contedo - recomendada pelo W3C em 1998 - HTML:aplicao da SGML (Standard Generalized Markup Language ), padro internacional para descrio de documentos eletrnicos ISO 8879. 2. Caractersticas Gerais do XML - independente de plataforma - dependente de contedo - recomendada pelo W3C em 1998 - HTML:aplicao da SGML (Standard Generalized Markup Language ), padro internacional para descrio de documentos eletrnicos ISO 8879. - XML criado como aplicao da SGML 2. Caractersticas Gerais do XML - separao de contedo e estrutura do documento: 2. Caractersticas Gerais do XML - separao de contedo e estrutura do documento: o conjunto de dados pode ser exibido (corretamente): -em um monitor de TV, -em um display de fone celular, - traduzido para voz em um dispositivo para cegos, - exibido em um monitor de computador, - recebido em um computador de bordo de carro 4 2. Caractersticas Gerais do XML - tags interpretados pela aplicao/aplicativo 2. Caractersticas Gerais do XML - tags interpretados pela aplicao/aplicativo - tags case-sensitive 2. Caractersticas Gerais do XML - tags interpretados pela aplicao/aplicativo - tags case-sensitive - inclui end tags: </p> , </li> 2. Caractersticas Gerais do XML - tags interpretados pela aplicao/aplicativo - tags case-sensitive - inclui end tags: </p> , </li> - inclui / para tag vazios: <br />, <hr /> 2. Caractersticas Gerais do XML - tags interpretados pela aplicao/aplicativo - tags case-sensitive - inclui end tags: </p> , </li> - inclui / para tag vazios: <br />, <hr /> - indica com aspas valores atribudos: <img src=teste.jpg" > 2. Caractersticas Gerais do XML - tags interpretados pela aplicao/aplicativo - tags case-sensitive - inclui end tags: </p> , </li> - inclui / para tag vazios: <br />, <hr /> - indica com aspas valores atribudos: <img src=teste.jpg" > - a criao de tags no depende do W3C 5 2. Caractersticas Gerais do XML - tags interpretados pela aplicao/aplicativo - tags case-sensitive - inclui end tags: </p> , </li> - inclui / para tag vazios: <br />, <hr /> - indica com aspas valores atribudos: <img src=teste.jpg" > - a criao de tags no depende do W3C - estruturado 2. Caractersticas Gerais do XML - tags interpretados pela aplicao/aplicativo - tags case-sensitive - inclui end tags: </p> , </li> - inclui / para tag vazios: <br />, <hr /> - indica com aspas valores atribudos: <img src=teste.jpg" > - a criao de tags no depende do W3C - estruturado - famlia de tecnologias (Xlink, XSL, DOM, XML Namespaces, XML Schemas, RDF) 2. Caractersticas Gerais do XML - usado junto com uma gramtica: o DTD 2. Caractersticas Gerais do XML - usado junto com uma gramtica: o DTD DTD - Document Type Definition - definies que descrevem o uso das marcaes. - indica elementos, atributos e valores - indica relacionamento entre os elementos - pode definir tambm entidades 2. Caractersticas Gerais do XML - exemplo de DTD para email: <!ELEMENT Mail (From, To, Cc?, Date?, Subject, Body)> <!ELEMENT From (#PCDATA) > <!ELEMENT To (#PCDATA) > <!ELEMENT Cc (#PCDATA) > <!ELEMENT Date (#PCDATA) > <!ELEMENT Subject (#PCDATA) > <!ELEMENT Body (#PCDATA | P | Br)* > <!ELEMENT P (#PCDATA | Br)* > <!ATTLIST P align (left | right | justify) "left" > <!ELEMENT Br EMPTY > 2. Caractersticas Gerais do XML <!ELEMENT Mail (From, To, Cc?, Date?, Subject, Body)> <!ELEMENT From(#PCDATA) > <!ELEMENT To (#PCDATA) > <!ELEMENT Cc (#PCDATA) > <!ELEMENT Date (#PCDATA) > <!ELEMENT Subject (#PCDATA) > <!ELEMENT Body (#PCDATA | P | Br)* > <!ELEMENT P (#PCDATA | Br)* > <!ATTLIST P align (left | right | justify) "left" > <!ELEMENT Br EMPTY > - apenas um: from, to, subject, body - opcional: cc, date (?) - apenas texto: from, to, cc, data. Subject. 6 2. Caractersticas Gerais do XML <!ELEMENT Mail (From, To, Cc?, Date?, Subject, Body)> <!ELEMENT From(#PCDATA) > <!ELEMENT To (#PCDATA) > <!ELEMENT Cc (#PCDATA) > <!ELEMENT Date (#PCDATA) > <!ELEMENT Subject (#PCDATA) > <!ELEMENT Body (#PCDATA | P | Br)* > <!ELEMENT P (#PCDATA | Br)* > <!ATTLIST P align (left | right | justify) "left" > <!ELEMENT Br EMPTY > - campo body: texto, P, Br - Campo P: texto e zero ou mais Br e um atributo: align (valores: left/right/justify, default:left) 2. Caractersticas Gerais do XML -Especificaes bsicas: - XML 1.0: define a sintaxe da XML -XPointer e Xlink: define mecanismos de representao de ligaes entre documentos, permitindo ligao de recursos mltiplos e em formatos diferentes. -XSL: define a linguagem utilizada para descrever estilos para documentos XML 2. Caractersticas Gerais do XML Browser XML: - realiza o leitura do documento e valida o mesmo junto ao DTD. - indicao da localizao do DTD: <!DOCTYPE Mail system "http://infowest.com/DTDS/mail.dtd"> <Mail> .. .. </Mail> 2. Caractersticas Gerais do XML Browser XML: - realiza o leitura do documento e valida o mesmo junto ao DTD. - indicao da localizao do DTD: <!DOCTYPE Mail system "http://infowest.com/DTDS/mail.dtd"> <Mail> .. .. </Mail> - Documento well-formed : dentro das regras bsicas 2. Caractersticas Gerais do XML Browser XML: - realiza o leitura do documento e valida o mesmo junto ao DTD. - indicao da localizao do DTD: <!DOCTYPE Mail system "http://infowest.com/DTDS/mail.dtd"> <Mail> .. .. </Mail> - Documento well-formed : dentro das regras bsicas - Documento Vlido: well-formed e dentro de uma especificao de um DTD. 2. Caractersticas Gerais do XML Exemplo: well-formed <?xml version="1.0" standalone=yes"?> <Mail> <From>Autor</From> <To>Algum</To> <Date> Tera - 14 de agosto de 2000</Date> <Subject>Introduo ao XML </Subject> <body><p>Obrigado pela leitura<Br/> desta introduo</p> <br/> <p>Esperamos que seja proveitosa</p> </body> </Mail> 7 2. Caractersticas Gerais do XML Exemplo: well-formed & Vlido <?xml version="1.0" standalone="no"?> <!DOCTYPE mail system http://infowest.com/DTDS/mail.dtd> <Mail> <From>Autor</From> <To>Algum</To> <Date> Tera - 14 de agosto de 2000</Date> <Subject>Introduo ao XML </Subject> <body>Comentrios:<p align=justify>Obrigado pela leitura<Br/></p> <p>Esperamos que seja proveitosa</p> </body> </Mail> 3. Exemplo de uso Lista de disciplinas 3. Exemplo de uso Lista de disciplinas - Verso HTML 3. Exemplo de uso Lista de disciplinas - Verso HTML <html><head><title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head> <body bgcolor="#FFFFFF"><div align="center"> <p>Lista de Disciplinas</p> <table width="85%" border="1"> <tr> <td width="25%"> <b><font color="#FF3333">Nome</font></b></td> <td width="25%"><b><font color="#FF3333">Professor</font></b> </td> <td width="25%"><b><font color="#FF3333">Assunto</font></b> </td> <td width="25%"><b><font color="#FF3333">Código</font></b> </td> </tr> <tr> <td width="25%"><b><font color="#0000FF"><i>Redes de Computadores e Protocolo TCP/IP</i></font></b></td> <td width="25%">Valter Nunes</td> <td width="25%">TCP/IP</td> <td width="25%">PR4101</td> </td></tr> ......</body></html> 3. Exemplo de uso Lista de disciplinas - DTD <?xml version="1.0" encoding="UTF-8"?> <!ELEMENT LISTA_DISC (DISC)> <!ELEMENT DISC (NOME_DISC, PROF_DISC, ASSUNTO_DISC, COD_DISC)> <!ELEMENT NOME_DISC (#PCDATA)> <!ELEMENT PROF_DISC (#PCDATA)> <!ELEMENT ASSUNTO_DISC (#PCDATA)> <!ELEMENT COD_DISC (#PCDATA)> 3. Exemplo de uso Lista de disciplinas - Dados <LISTA_DISC> <DISC> <NOME_DISC>Redes de Computadores e Protocolo TCP/IP</NOME_DISC> <PROF_DISC>Valter Nunes</PROF_DISC> <ASSUNTO_DISC>TCP/IP</ASSUNTO_DISC> <COD_DISC>PR4101</COD_DISC> </DISC> <DISC> <NOME_DISC>Tecnologias de Transmissao</NOME_DISC> <PROF_DISC>Carlos Silva</PROF_DISC> <ASSUNTO_DISC>ATM</ASSUNTO_DISC> <COD_DISC>PR4102</COD_DISC> </DISC> ........ </LISTA_DISC> 8 3. Exemplo de uso Lista de disciplinas - Doc.XML <?xml version='1.0'?> <!DOCTYPE teste SYSTEM "listadisc.dtd"> <?xml:stylesheet type="text/xsl" href="lista-disciplinas.xsl"?> <LISTA_DISC> <DISC> <NOME_DISC>Redes de Computadores e Protocolo TCP/IP</NOME_DISC> <PROF_DISC>Valter Nunes</PROF_DISC> <ASSUNTO_DISC>TCP/IP</ASSUNTO_DISC> <COD_DISC>PR4101</COD_DISC> </DISC> 3. Exemplo de uso Lista de disciplinas - Estilo.XSL <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl" xmlns="http://www.w3.org /TR/REC-html40" result-ns="" default-space="strip" indent-result="yes"> <xsl:template match="/"> <HTML><HEAD><TITLE>Titulo </TITLE></HEAD> <BODY><CENTER><H3>LISTA DE DISCIPLINAS</H3> <TABLE BORDER="1"> <TR> <TD align="center"><FONT ...>Nome</FONT></TD> <TD align="center"><FONT ...>Professor</FONT></TD> <TD align="center"><FONT ...>Assunto</FONT></TD> <TD align="center </TR> <xsl:for-each select="/LISTA_DISC/DISC"> <TR><TD align="left"><I><B><FONT COLOR="#006400"> <xsl:apply-templates select="NOME_DISC"/></FONT></B></I></TD> 3. Exemplo de uso Lista de disciplinas - Aplicao <HEAD> <SCRIPT FOR="window" EVENT="onload"> var xmlDso = xmldso.XMLDocument; xmlDso.load("listadisc-dados.xml"); </SCRIPT> </HEAD> <BODY> <OBJECT WIDTH="0" HEIGHT="0" CLASSID="clsid:550" ID="xmldso"> </OBJECT> <SPAN STYLE="font-weight:bold">Nome: </SPAN> <SPAN ID="Nome_disciplina" DATASRC=#xmldso DATAFLD="NOME_DISC" STYLE="color:blue"> </SPAN> ..... <INPUT TYPE=button VALUE="Disciplina Anterior" ONCLICK="xmldso.recordset.moveprevious()"> <INPUT TYPE=button VALUE="Proxima Disciplina" ONCLICK="xmldso.recordset.movenext()" 4. Editores 9 EXEMPLOS: XHTML WML 10 XML - Extensible Markup Language XHTML 1.0 - recomendao do W3C XML - Extensible Markup Language XHTML 1.0 - recomendao do W3C O servidor seleciona ou transforma o contedo baseado nas capacidades e preferncias do cliente e nas possibilidades disponveis em profiles de documentos XML - Extensible Markup Language XHTML 1.0 - recomendao do W3C Transformado por um estilo, script ou por um programa XML - Extensible Markup Language XHTML 1.0 - recomendao do W3C A transformao/ajuste pode ocorrer - no servidor de contedo, - no proxy server, - no cliente.