curso de xml completo
TRANSCRIPT
UNOESTE FIPP Faculdade de Informtica de Pres Prudente
Silvio A Carro 2009
XML: Extensive Markup Language, XML um sistema gramatical para construo de linguagens de marcao personalizadas. A XML amplia o poder da HTML tendo em vista que possvel criar suas prprias tags de marcao a partir de um conjunto de regras bem formadas. Um documento XML pode ser escrito em qualquer editor de texto e para qualquer plataforma. XML estruturada: Na escrita de um documento XML, no apenas inserirmos as informaes no arquivo, mas tambm uma estrutura para estes dados no arquivo. XML independente de linguagem.Pessoa: Jos da Silva 72 Maria Ap da Siva Joao da Silva
Jos da Silva 72 Maria Ap da Silva Joo da Silva
nome: Jos da Silva peso (kg): 72 mae: Maria Ap da Siva pai: Joao da Silva
XML em 7 pontos:web.singnet.com.sg/~xymedia/xml/XML7points.html
1 XML uma modo de representar dados estruturados em arquivo texto XML um conjunto de regras para projetar formatos textuais que permitem estruturar os dados XML no uma linguagem de programao e voc no precisa ser programador para usar e aprender XML torna fcil a tarefa do computador gerar dados, ler dados e garantir que a estrutura de dados no ambgua.
XML em 7 pontos:web.singnet.com.sg/~xymedia/xml/XML7points.html
2 XML parece com HTML, mas no HTML. Como HTML, o XML usa tags e atributos HTML especifica o que cada tag e atributo significa, e, freqentemente, como o texto ser mostrado no browser. XML usa tags s para delimitar o texto, deixando para a aplicao o trabalho de interpretar as tags.
XML em 7 pontos:web.singnet.com.sg/~xymedia/xml/XML7points.html
3 XML texto, mas no para ler. XML pode ser editado em qualquer editor do tipo texto. Porm as regras para arquivos XML so rgidas: uma tag esquecida ou um atributo sem aspas tornam o arquivo sem uso. Est escrito na especificao oficial de XML: "Se o arquivo esta danificado, a aplicao deve interromper imediatamente o processamento e emitir um erro".
XML em 7 pontos:web.singnet.com.sg/~xymedia/xml/XML7points.html
4 XML prolixo, mas isto no problema. Dados no formato XML ocupam bem mais espao que dados no formato binrio. Disco no mais problema Algoritmos de compresso HTTP/1.1 consegue comprimir arquivos on the fly (na transmisso)
XML em 7 pontos:web.singnet.com.sg/~xymedia/xml/XML7points.html
5 XML uma famlia de tecnologias.XSL XSL-FO XHTML X Signature X Encription
Apresentao DTD
Segurana
DOM Modelo XMLSchema
XMLQuery
Acesso SAX
XLink
XPointer
XPath
XQuery
XML em 7 pontos:web.singnet.com.sg/~xymedia/xml/XML7points.html
6 XML novo, mas no to novo.
XML em 7 pontos:web.singnet.com.sg/~xymedia/xml/XML7points.html
7 XML license-free, independente de plataforma e fornecedor. Acesso a uma enorme e crescente comunidade de ferramentas e profissionais. Recomendada pela W3C
Principais benefcios da linguagem XML:Buscas mais eficientes Web Semntica
Desenvolvimento de aplicaes flexveis para a Web
Principais benefcios da linguagem XML: Integrao de dados de fontes diferentes Web Services
Computao e manipulao locais Mltiplas formas de visualizar os dados CSS e XSLT
Fcil distribuio na Web via HTTP
Estrutura de um arquivo XML
XML Prolog Elementos Atributos Comentrios
Des.Sist.Amb.WEB baseados Tec. Java 18 meses Web Semantica 17/06/2006 Silvio Antonio Carro
Estrutura de um arquivo XML
XML Prolog
Declarao do XML. Primeira parte de qualquer documento XML bem formado. Define a verso do XML utilizado assim como outra informao: standalone= yes toda a validao necessria est no prprio documento
Estrutura de um arquivo XML
Elementos
Componentes bsicos de um doc. XML. So identificados por tags Exemplos:
O Rei vai nu Eu
Podem existir elementos vazios. Terminam com o smbolo / O nome dos elementos devem comear por uma letra case-sensitive: diferente de No se podem omitir ou sobrepor
Tutorial Eu
No vlido
Estrutura de um arquivo XML - Elementos
Os documentos XML devem possuir um nico elemento raiz (root)
Elemento raiz
Estrutura de um arquivo XML - Elementos
Todo elemento tem sua tag de fechamento
As tags de fechamento so obrigatrias. Isso significa que, ao contrrio do que ocorre em HTML, toda tag de abertura tem, obrigatoriamente, sua tag de fechamento.
Um elemento pode conter texto (valor), subelementos ou ambos:
apostila.pdf
Estrutura de um arquivo XML
Para melhor legibilidade, os elementos devem ser aninhados corretamente:
aplicativo.java fonte em java
Atributos em XML
Os atributos em XML so usados para descrever os elementos XML ou para fornecer uma informao adicional sobre os elementos.
Ana Rachel feminino Ana Rachel
No primeiro exemplo sexo um atributo; no ltimo exemplo sexo um elemento.
Atributos em XML
No existe uma regra que indique quando voc deve usar um ou outro, o que vale o bom senso. Mas a utilizao de atributos deve ser evitada se voc pode descrever seus dados como elementos. Use atributos para descrever como interpretar o contedo de um elemento:
100
Prefira os elementos aos atributos Atributos no podem conter valores que se repetem (elementos podem)
1
Atributos no so expansveis
2 Atributos no podem descrever estruturas
3
Atributos so de difcil manuteno
Projetando um documento XML passo a passo:1.
Rena os elementos de dados que voc precisa incluir no documento XML Verifique se no h um padro pronto e disponvel Analise quais elementos de dados precisam ser refinados ou agrupados
1.
1.
Endereo -> rua, nmero, cidade, CEP ...
Apresente um nome adequado de elemento que descreva o documento XML inteiro.
Origem do elemento raiz
Repita esse processo e d nomes aos outros elementos
Exemplo: O Mestre da tartaruga Mr. Je Patrick Sport Ian Stadium Passos Dias Aguiar Mota 120 2001 Cada dia que passava, o Mestre tornava-se mais mestre...a tartaruga essa, comia que se fartava 4
Exerccio Time de Futebol.- Crie um XML vlido para representar um time de futebol - Use o XMLSpy
Namespaces Ambiguidade Birdy Namespaces so teis para distinguir entre William Wharton dois elementos definidos com um 0679734120 mesmo nome, mas que Knopf pertencem a esquemas diferentes. Alem disso, um documento pode associar elementos Amazon.com (800)555-1313 previamente definidos sua estrutura, desde $24.95 que utilize referencias aos esquemas que definem esses Borders elementos. $22.36
Namespaces-
Forma de evitar conflitos de nomes (ex. Variveis e Mdulos de umprograma);
-
Forma de permitir que dois elementos com o mesmo nome possam existir embora em contextos diferentes;Exemplo:
-
xxx 27 234567
Namespaces As URLs, URIs, e URNs no precisam existir, servem apenas para diferenciao de nomes
- O atributo xmlns necessrio distinguir namespaces - O valor de xmlns deve referenciar um URI de um Namespace - Um documento pode conter Namespaces especficos ou por default; - Os elementos/ atributos sem prefixo esto associados ao Namespace por default
Birdy William Wharton 0679734120 Knopf Amazon.com (800)555-1313 $24.95 < company.NAME> Borders $22.36
No Confunda!Os bancos de dados constituem-se numa excelente soluo para armazenar grandes volumes de dados e recuper-los rapidamente. O estudo do XML se concentra em uma questo diferente do armazenamento de dados: como transmitir dados de um programa para outro em uma forma estruturada.
Outros Exerccios:a) Formate seu RG em XML b) Modele um pedido de compras em XML, considere os dados do comprador e itens de produto.
DTDA DTD uma sequncia de regras que descreve os elementos e atributos vlidos para documentos XML. O propsito de uma DTD formalizar a descrio de um documento
Criando documentos vlidos (DTD)
Doc. XML Bem formadoSegue as especificaes do standard XML, ou seja, apresenta-se como sintaticamente correto.
Doc. XML VlidoUm documento XML Bem formado que respeita as regras presentes num Document Type Definition (DTD) ou XML Schema, garantindo estrutura do documento e consistncia de dados.
Um documento XML pode ser Bem-Formado e/ou Vlido
Criando documentos vlidos (DTD)
Para que um documento XML seja um arquivo vlido temos que usar o que chamamos de Definio do Tipo do Documento ou, originalmente Document Type Definition DTD. O propsito da DTD definir uma construo de blocos vlidas para um documento XML, e ela define a estrutura do documento usando uma lista de elementos vlidos. A DTD pode ser declarada dentro de um documento XML ou num arquivo parte. O DTD permite descrever cada marca e fornecer regras para interpretar cada informao usada em um arquivo XML. Quando usada em um arquivo XML a DTD aparece entre colchetes [ e termina com um colchete, seguido de um sinal de maior (]>). Gramtica DTD definida com a declarao de elementos (ELEMENT) e de seus atributos (ATTLIST)
Criando documentos vlidos (DTD) para (#PCDATA)> de (#PCDATA)> cabecalho (#PCDATA)> corpo (#PCDATA)>DTD define:
as marcas (tags) que podem ser utilizadas no documento XML;
o nmero e a sequncia de tags; os atributos de cada tag os tipo de valores que cada atributo pode vir a ter (opcional)
Janice Jefferson Lembrese Amanha voc tem prova de matemtica
DTD - Sintaxe
Tom Jane Reminder Don't forget me this weekend!
XSD Simple ElementsXML Schema define os elementos de um arquivo XML. Um simple element um elemento XML que contm apenas texto. Ele no pode conter outros elementos ou atributos.
onde xxx o nome do elemento e yyy seu tipo de dados: xs:string xs:decimal xs:integer xs:positiveInteger xs:boolean xs:date xs:time
Exemplos... Refsnes 36 1970-03-27 ...
Default and Fixed Values (Simple Elements)
Atributos
onde xxx o nome de um atributo e yyy especifica o tipo de dado do atributo: xs:string xs:decimal xs:integer xs:positiveInteger xs:boolean xs:date xs:time
ExemplosSmith
Default and Fixed Values (Atributos)
Optional and Required (Atributos)
Definindo um Complex ElementComplex Element com um atributo e outro elemento
Hege Silva Cecilie Tom Silva Hege Jim Stale Silva Mais informaes e exemplos:
http://www.w3schools.com/
Sintaxe em Exemplo (XML/XSD):
Pode ser: Rainy Cloudy Clean
New York 26 18 weather.xml
?weather.xsd
Exerccio- Crie um XSD para o XML do exerccio anterior - Use o XMLSpy
CSSCascade Style SheetSeparando o contedo do estilo
Vantagens de separar contedos de estilos:
Reutilizao de fragmentos de cdigo: aspectos diferentes em contextos diferentes para o mesmo bloco de cdigo. Mltiplos formatos de output: formas (papel, on-line), formatos (manuais, relatrios), dispositivos (PDA, WAP, PC s) Estilos satisfazem preferncias do utilizador (ex. acessibilidade), cores, fontes de texto... Estilos normalizados (dentro de uma empresa) Liberdade de aplicao de estilos posteriori
CSS:
Cascade Style Sheet No novidade:
Resource files (.rc) do VB XLib/Motif HTML
Formataes (estilos) de texto, pargrafos, etc Tamanho, fonte, tipo cor da letra Etc.
CSS e HTML: Teste CSS .novo_estilo { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 18px; color: #FF0000; font-weight: bold; } /head>
Exemplo da aplicao de CSS para alterar a formatao do texto
CSS:
First Book O regresso dos que no foram Antonio Passos Dias Aguiar Mota Isto a linha Um Isto a linha Dois Isto a linha Tres
book{ display:block; font-size:20pt; font-color: red; } titulo{ display:block; font-size:12pt; color: blue; font-family:arial; } autor{ display:block; font-size:10pt; color: red; font-family:arial; } linha{ display:block; font-size:10pt; color: green; } Teste.css
http://www.maujor.com/
Extensible Stylesheet Language
Transformao em documentos com XSL
XSL uma especificao com o objetivo de realizar pesquisas e transformaes em documentos XML. XSL envolve XSLT, XSL-FO e XPATH. XSL Transformations (XSLT) :
Linguagem de alto nvel para transformar documentos XML em outros documentos, geralmente em HTML. Documentos escritos em XSLT so chamados de folhas de estilo e contm:
Elementos XSLT: , , , ... Texto ou XML a ser gerado no documento-resultado
XSLT
A transformao XSLT realizada sobre a rvore de um documento-fonte: Todos os ns do documento so acessveis. Tipos de n disponveis:
Elemento Atributo Texto Comentrio Instruo de processamento Namespace Raiz
XSLT
Potencialidades de transformao:
Gerao de texto esttico Supresso de contedo Deslocar texto (ex. trocar ordens) Duplicar texto (e.x., criar TOC - tabelas de contedo) Ordenao Calcular nova informao a partir de existente
XSLT
Considere o seguinte documento XML:
Rio de Janeiro Itabuna
Exemplo 1 Rio de Janeiro Itabuna
O seguinte template (parte de uma folha de estilos XSLT) pode extrair os dados do documento-fonte:
A aeronave de prefixo decolou de s tendo como destino o aeroporto de .
Elementos XSLT geralmente so usados com um prefixo associado ao seu namespace: para evitar conflitos com o documento-resultado.
Contm regras que sero aplicadas a um n especfico Possui o atributo match, que determina qual elemento XML, a regra deve ser aplicada.
usado para selecionar o valor de um elemento XML e adicion-lo sada da transformao Possui o atributo select, que contm uma expresso Xpath que calcula o valor a ser adicionado ao documento resultado
Exemplo 2: iniciando pelo /XML
Corinthians campeo 2009! Faa a referncia deste modo: file:///D:/email.xslXSLT
Saudao Saudao de Hoje Corinthians
de Hoje
campeo 2009! HTML
Exemplo 2: iniciando pelo elemento raiz XML Corinthians campeo 2005! XSLT
Saudao de Hoje
Saudao de Hoje Corinthians campeo 2005! HTML
Recupera o valor de um elementoraiz
Exemplo 3 XML com atributosXML
Resumo do capitulo Alfredo Buarque HTML Publicacao tipo: periodico ISSN: 01034508 Capitulo 1:IntroducaoXSLT
Autor: Alfredo Buarque Resumo: Resumo do capitulo
Publicacao tipo: ISSN: Capitulo : Autor: Resumo:
Permite a construo de loops Possui o atributo select, que contm uma expresso Xpath que vai determinar sobre que elemento ser realizado o loop
usado para ordenar a sada Possui o atributo select, que indica qual elemento XML ordenar Possui o atributo order, que indica o tipo da ordenao: ascending ou descending.
Filtros:Pode-se filtrar a sada de um XML adicionando um critrio no atributo select do elemento Operadores vlidos: = (igual) != (diferente) < (menor) >= (maior ou igual)