5a. Aula -XML 2013.2
Introdução Criando Documentos XML Validando Documentos XML DTD ( Documents Type Definition) XML Schema ConsultandoXML com Xpath com XQuery Modularizando XML Namespaces Entities TransformandoXML com XSLT ManipulandoDados XML 2
XML (extensible Markup Language) Lingagemde marcaçãopropostapelow3c W3C (World Wide Web Consortium) Orgão responsávelpelarecomendaçãode padrõese protocolosparaa web. É uma linguagem com a finalidade de descrever informações. O mesmo ocorre com a HTML. XMLé uma linguagem de marcaçãocom mudanças muito importantes. A maioria das linguagens de marcação possui conjunto fixo de elementos baseado no modelo da linguagem. 3
Descreveosdados, dandosemânticaa unidadesde informação. Padrãopararepresentaçãoe trocade dados na Web. Soluciona as limitações de HTML. HTML, por exemplo, possui um conjunto fixado de tags com o qual podemos elaborar documentos. XML, por outro lado, não definequalquer conjunto de tags em particular. HTML e XML tem a mesma origem: SGML. 4
Documentos HTML foram criados para serem utilizados apenas por Browsers HTML não é extensível Um documento HTML corresponde a uma visão particular da informação HTML enfatizaa formataçãoe nãoo conteúdo Emum documento HTMLnãoé fornecida nenhuma semântica além do formato 5
Porque podemos usá-la para criarmos nossas próprias marcações(tags). Os autores de documentos XML podem concentrar-se no conteúdo e não na formatação Oferece o contexto no qual os dados estão sendo usados. 6
Documentos XML são autodescritíveis DocumentosXML sãocomobancode dados de informações O conteúdodos documentospodeser manipulado e reorganizado pelo browser Permitea trocade dados naweb Facilita a publicação de dados 7
Separardados do HTML Dados podem ser armazenados fora dos documentos HTML (em arquivos XML) HTML seráusadaapenasparaseupropósitoinicial: apresentaçãodos dados. Trocar dados na eletronicamente Aplicativospodem conversar emxml. Aplicações de comércio eletrônico Aplicaçõesparatransferênciade dados natecnologiade celularescom ligaçãocom a Internet (ex:atecnologiawap). Transferência de dados entre Banco de Dados 8
<! --HTML Snippet --> <h1>invoice</h1> <p>from: Joe Bloggs <p>to: M. Another <p>amount: $100.00 <p>tax: 21% <p>total Due: $121.00 9
<! --XML Snippet--> <Invoice> <From>Joe Bloggs</From> <To>M. Another</To> <Dateyear= 1999 month= 2 day= 1 /> <Amount currency = Dollars >100.00</Amount> <TaxRate>21</TaxRate> <TotalDue currency = Dollars >121.00</TotalDue> </Invoice> 10
Um documento XML é estruturado em forma de árvore. Possui sempre um elemento-raiz, de onde outros elementos vão se ramificar. Essa estrutura em árvore estabelece como documentos XML vão ser definidos e vão ser tratados. O tratamento envolve principalmente encontrar um determinado elemento, ou grupo de elementos para serem processados. Hierarquia e sequência 11
<?xml version="1.0" > <livros> Elemento Raiz <livro> livros <ISBN>1234</ISBN> <titulo>inside XML</titulo> <editora>new Riders</editora> livro livro <edição>3ª</edição> <autor> <nome>steven</nome> <endereco>ny</endereco> ISBN titulo editora edição autor autor </autor> endereco nome endereco nome <autor> 1234 Inside New 3ª <nome>holzner</nome> XML Riders <endereco>miami</endereco> Miami Holzner NY Steven </autor> </livro> <livro>... </livro> </livros> 12
Um documento XML consiste de uma combinação de dados caracterese marcações (tags). Marcações podem ser: -caracteres de início de tags -fim de tags - elementos vazios - referências à entidades - referências à caracteres - comentários 13
Marcações podem ser (cont.): - delimitadores de seções CDATA (valores a serem desconsiderados quanto à sintaxe XML) - declaração de tipo de documento - instruções de processamento - declarações XML - declarações textuais -quaisquer espaço em branco fora do elemento-raiz e fora de qualquer outra tag. 14
Cada item de elemento de informação pode ter uma ou mais propriedades, chamadas de atributos. Os atributosformam uma lista não-ordenadade itens de informação. <IMG SRC= logotipo.gif WIDTH= 32 HEIGHT= 64 ALT= Logotipo > Cada atributo tem um nome único. Em XML, atributos podem ser usados para descrever um elemento ou para fornecer informações adicionais sobre um elemento. 15
Dizemos que um documento é bem-formado quando ele atende a todas as exigências estruturais desta recomendação. Documento XML bem-formado: se possui o seguinte formato, nesta ordem: Prólogo Elemento-Raiz Miscelânea 16
Consiste obrigatoriamente na declaração de que este é um documento XML e a versão da recomendação W3C que ele segue. Todas as declarações XML iniciam com os cinco caracteres: <?xml version= 1.0? encoding= ISO- 8859-1 standalone= yes?> 17
Estabelece o conjunto de caracteres utilizado no documento. Valores para esta declaração podem ser encontrados em http://charts.unicode.org/ Exemplos: UTF-8, US-ACII, ISO-8859-1 18
Indica se o documento XML necessita ou não de um DTD externo: no - o documento depende de um DTD externo; yes-o documento não depende de um DTD externo. 19
DTD (DocumentType Definition) Permite se definir uma gramática para criar documentos específicos Namespaces Permite utilizar nomes repetidos para tagsutilizando espaços de nomes diferentes XML Schema Estende o conceito de DTD 20
XLinks Links entre documentos Umaforma generalizadados conceitosde âncorase links de HML XPointer Permite um recurso ser identificado pela sua localização contextual. XPath É umalinguagemparareferenciarpartesde um documento XML 21
Xquery Permite a consulta dentro de documentos XSLT (extensiblestyle Language Transformation) Transformação de documentos XML 22
Define a ordemem que os elementos ou atributosaparecem nos documentos, se existem elementos opcionais, e quais tipos desses elementos. Tendo-se um DTD, um documento XML pode ser validado. diferentes pessoas e programas podem tratar dados uns dos outros. 23
Uma declaração de tipo de documento define qual o DTD usado por um documento XML. Essa declaração aparece no prólogo de um documento, antes do elemento-raiz. 24
XML <?xml version="1.0"?> <!DOCTYPE note SYSTEM "note.dtd"> <note> <to>tove</to> <from>jani</from> <heading>reminder</heading> <body>don't forget me this weekend!</body> </note> DTD <!ELEMENT note (to,from,heading,body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)> 25
PCDATA representa dados de caracter. Pense no dado de caractercomo o texto encontrado entre a taginicial e final de um elemento XML. PCDATA é o texto que será convertido pelo conversor. Tagsdentro do texto serão tratadas como marcações e entidades serão expandidas. 26
CDATA também representa dados de caracter. CDATA é o texto que não será convertido pelo conversor. Tagsdentro do texto NÃO serão tratadas como marcações e entidades NÃO serão expandidas. São usadas para inserir blocos de texto, que podem conter caracteres conflitantes com os usados em marcações. 27
Não existem regras específicas que determinem quando usar atributos. Em geral, os dados devem ser colocados em elementos. Informações a respeitodos dados (metadados) devem ser colocados em atributos. 28
< < & & > > " ' 29
30
Há basicamente quatro formas de ler XML XmlDocument representa um documento XML em memória XmlReader Representa um leitor para acesso rápido, sem armazenamento(completo) em memória e acesso sequencial. XPathNavigator implementa um cursor para navegação e edição de XML Link to XML: novo recurso (a partir do.net 3.5), manipulação mais eficiente 31
Principais classes/propriedades XmlDocument- Cria documento XML XmlElement- Cria elemento XML XmlElement.ChildNodes Nós filhos XmlNodeList Lista Lista de nós XmlNode Um determinado nó XmlNode.Attributes Lista de atributos XmlReader Ler documento XML XmlNodeType Tipo do nó XmlWriter Escrever em documento XML XmlWriterSettings Dados de prólogo de XML 32
Vide exemplos de aula. 33
www.xml.org www.xml.xom www.msdn.microsoft.com/xml www.xmlsoftware.com www.w3c.org 34