Linguagem para Organização e
Transferência de dados para Web.
Prof. Rudson Kiyoshi S. Carvalho
Anhanguera - 2015
Parte - 1
Quem sou eu?
- Setia Tecnologia - Arquiteto de Software
- Desenvolvedor Java, .NET e Sql Server
- MBA - Engenharia de Software com ênfase em SOA
- MBA - Arquitetura de Soluções
- Bacharel em Sistemas de Informação
Calendário e Sistema
de Avaliação
Calendário
Sistema de Avaliação
O QUE MUDA:
• Média para aprovação: 6,0
• ATPS: 20% da nota = até 2,0 pontos (1o e 2o Sem)
• Arredondamento: uma casa decimal (5,85 = 5,9)
• Frequência: mínimo 75%
O QUE CONTINUA:
• Pesos: 40% (1o Bim) / 60% (2o Bim)
• 1o Bim (trabalho ou prova + ATPS) / 2o Bim (Prova +ATPS)
• Prova substitutiva substitui a nota da B2
Sistema de Avaliação
Provas e Entrega de
Trabalho
ATPS entrega: 31/Março
Provas B1 – 06 a 10/Abril
ATPS
• Equipes de 2 a 4 participantes.
• Entregas:
• Parte 1: 31-03-2015
• Relatório 1 - Manual de desenvolvimento XML. 

• Relatório 2 - Manual de desenvolvimento DTD e CSS.
• Parte 2: 09-06-2015
• Relatório 3 - Manual de desenvolvimento XSL.
• Relatório 4 - Relacionamento XML e Base de Dados.
ATPS - Entrega 1- Relatório 1
• Passo1: Montar um descritivo (mínimo de 20 linhas) sobre a linguagem XML em si,
detalhando os objetivos e as características da linguagem. Este descritivo deverá ser
realizado de forma que profissionais de TI da empresa possam compreender os reais
objetivos e características da linguagem, de forma clara e objetiva.
• Passo 2: Descrever os principais elementos de sintaxe da linguagem, com exemplos de
utilização das mesmas. O descritivo das sintaxes deve ser muito bem detalhado, com
analogias referenciando a banco de dados, para facilitar a compreensão pela equipe de
TI da Vassoura Vassourinha XXI Ltda. Segue exemplo em tabela 01 a seguir.
• Passo 3: Montar um arquivo XML para interface das vendas entre a Vassoura Vassourinha
XXI Ltda. e Vassouras Lindaura YY Ltda. baseado nos dados descritos a seguir. Notar que
as empresas possuem dados divergentes em seus sistemas. Devem-se selecionar
aqueles dados que possuem relevância às empresas.
• Passo 4: Elaborar o Relatório 1 – Manual de Desenvolvimento XML. Baseados na
especificação de trabalhos relacionada em “Padronização”, descrita neste documento;
montar um documento de referência em XML para a equipe de TI da Vassoura
Vassourinha XXI Ltda., contendo os resultados alcançados com a elaboração da Etapa 1.
ATPS - Entrega 1- Relatório 2
• Passo1:Montar um padrão para criação de dados XML, de modo que este padrão possa
ser utilizado posteriormente para descrever o tipo de dados que aquele arquivo XML
transporta. É necessária a criação de um padrão para criação de dados XML, de modo
que este padrão possa ser utilizado posteriormente para descrever o tipo de dados que
aquele arquivo XML transporta. Para tanto, é necessária a descrição detalhada dos
atributos criados no passo 3 da 1a etapa.
• Passo 2: Gerar um documento “DTD” (Definição do Tipo de Documento) para
padronização do arquivo XML da empresa, baseado no passo anterior. 

• Passo 3: Aplicar estilos aos atributos da linguagem, de modo que os atributos-árvore
fiquem com fonte maior que seus respectivos atributos-folha.
• Passo 4: Elaborar o Relatório 2 – Manual de desenvolvimento DTD e CSS. Baseados na
especificação de trabalhos relacionada em “Padronização”, descrita neste documento,
montar um documento de padronização de dados para a equipe de TI da Vassoura
Vassourinha XXI Ltda., contendo os resultados alcançados com a elaboração da Etapa 2.
ATPS - Entrega 2- Relatório 1
• Passo1: Apresentar a linguagem XSL para a equipe de TI e descrever
detalhadamente seu uso, conforme a etapa 1. Para tanto, eles precisam
conhecer um meio de formatar a linguagem XML de maneira mais rápida.
Você deve apresentar a linguagem XSL a equipe de TI e descrever
detalhadamente seu uso, de maneira compreensível a eles, conforme
explicado na etapa 1 deste documento. Basear-se no material apresentado
nas aulas das semanas 12 e 13.
•
• Passo 2: Apresentar o conceito de arquivos formatadores de XSL, de modo
que a equipe de TI possa futuramente elaborar um arquivo XSL.

• Passo 3: Elaborar o Relatório 3 – Manual de desenvolvimento XSL. Baseados na
especificação de trabalhos relacionada em “Padronização”, descrita neste
documento, montar um documento de referência no uso de formatadores XSL
para a equipe de TI da Vassoura Vassourinha Ltda., contendo os resultados
alcançados com a elaboração da Etapa 3.
ATPS - Entrega 2- Relatório 2
• Passo1: Elaborar um documento em que a equipe de TI
relacione as tabelas de vendas descritas na etapa 1 com os
atributos da linguagem XML, de maneira simplificada e bem
funcional.
• Passo 2: Elaborar o Relatório 4 - Relacionamento XML e Base de
Dados. Baseados na especificação de trabalhos relacionada
em “Padronização”, descrita neste documento, montar um
documento de referência da interface gerada para a equipe
de TI da Vassoura Vassourinha XXI Ltda., contendo os
resultados alcançados com a elaboração da etapa 4, bem
como o relatório final a ser entregue para a equipe de TI da
Vassoura Vassourinha XXI Ltda.
Linguagem para Organização e
Transferência de dados para Web.
Objetivo
Desenvolver aplicações
utilizando a linguagem XML.
Conteúdo Programático
Linguagem XML
- Introdução
- Conceitos básicos e sintaxe
- Caracteres
- Marcação (elementos e atributos)
- Seções
A abordagem da XML
- Tipos de documentos
- Tipos de elementos
- Declaração e tipos de atributos
- Seções condicionais
Estruturas Lógicas e físicas em documentos XML
Mecanismos de estilos XML
- Uso de folhas de estilo
Processador de XML
Conceitos e utilização de XSL
Desenvolvimento de aplicações
Bibliografia Básica Padrão
1-) GOLDBERG, Kevin Howard. Guia Prático Visual XML. 1a
ed. São Paulo: Alta Books, 2009.
2) RAY, Erik T.. Aprendendo XML. 1a ed. Rio de Janeiro:
Campus - Elsevier, 2001.
3) DEITEL, Harvery M.; DEITEL, Paul J.; et al.. XML : Como
Programar. 1a ed. Porto Alegre: Bookman, 2003.
4) WAHLIN, Dan. XML e ASP.NET para desenvolvedores. 1a
ed. São Paulo: Pearson, 2003.
XML Conceitos Básicos
O que é XML?
X M L ( E X t e n s i b l e M a r k u p
Language) ou linguagem extensível
de marcação, é uma linguagem
designada para descrever e
estruturar informações.
Como uma linguagem de marcação,
o XML se assemelha com a
linguagem HTML, possuindo
marcações para descrever os dados.
Porém, estas marcações não são
pré-definidas na linguagem,
tornando possível a criação de
marcações de acordo com
necessidades específicas.
O poder do XML
• Sintaxe simples
• Definição infinita de tags
• Extensão e Adaptação
• Personalização
• Reutilização
• Gratuito - Padrão Livre (W3C)
• Multiplataforma
HTML x XML
• HTML (HyperText Markup Language) - Descreve aparência e
ações.
• XML (Extensible Markup Language) - Descreve a
representação de algo.
HTML x XML
HTML XML
Como escrever um
documento XML?
• Podem ser escritos à mão usando um editor.
• Podem ser gerados automaticamente, para:
• Troca de dados, protocolos entre
aplicativos.
• Importação/exportação entre diferentes
formatos de dados (relacional -> xml,
xml -> relacional, etc.)
• Marcação de saída relativamente
simples:
fprintf(sdtout, “<titulo>titulo livro</titulo>"n);
System.out.printl(“<titulo>titulo livro</titulo>"n);
File.WriteAllText(“c:
arquivo.xml”,“<para>paragrafo</para>”);
Como ler um documento
XML?
• Software deve ser usado para ler
um documento XML
• A leitura é mais complexa do que
a escrita
• Várias questões:
• Caracteres como "enter"
"espaços em branco" devem
ser sempre tratados
• Substituição de entidades no
texto.
• Processar DTD/XML Schema
Marcadores
• Elementos
• Atributos
• Referências a entidades
• Comentários
• Instruções de Processamento
• Seções Formatadas
• Definições de Tipos de Documentos - DTD
• XML Schema - XSD
• XML Style Sheet - XSL
• XML Style Sheet Transformation - XSLT
Declaração XML
A declaração XML utiliza o elemento <?xml atributos… ?>.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> ︎
Existem três atributos que podem ser usados na declaração:
• Version – é a versão do XML, que pode ser 1.0 ou 1.1. Este
atributo é obrigatório se você usar a declaração XML;
• Encoding – é a linguagem de codificação do documento. O
padrão é UTF-8. Este atributo é opcional;
• Standalone – os valores possíveis são “yes” ou “no”. Use “yes”
se o documento não faz referência a documentos externos ou
entidades. Use “no” caso contrário. Este atributo é opcional.
Elemento
Marcação mais comum

Delimitado por < e >
Exemplos:
<elemento> mensagem de texto </elemento>
<elemento/>
Atributos
Pares nome-valor que caracterizam o
elemento
Em XML, todos os atributos devem vir entre
aspas.
Exemplo:
<camiseta tamanho=“p”>Polo</camiseta>
Referências a Entidades
Utilizadas para representar caracteres
especiais:
• &lt; que corresponde a <
• &gt; que corresponde a >
• &amp; que corresponde a &
• &quot; que corresponde a “
• &apos; que corresponde a ‘
<PI>&#227;</PI> (UNICODE)

Comentários
Não são processados pelo interpretador XML
Início do comentário: <!--

Fim do comentário: -->
Exemplo:
<!-- Este texto é apenas um comentário -->
<?xml version="1.0" encoding="UTF-8"?>
<!-- Aqui começa o email -->
<mensagem>
<!-- quem enviou a mensagem -->
<de>algu&#233;m</de>
<para>uma pessoa</para>
<!-- tag assunto foi comentada -->
<!--
<assunto>digite o assunto</assunto>
-->
<texto>abcdefghijk</texto>
</mensagem>
Comentários
Sintaxe Correta
XML bem formado
O documento XML deve começar
com uma declaração XML
<!-- Não é permitido! -->
<?xml version="1.0" encoding="UTF-8"?>
O elemento raiz deve conter
todos os outros elementos
<mensagem>Olá!</mensagem>
<mensagem>Hello!</mensagem>
O documento XML deve ter
pelo menos 1 elemento
<mensagem>Olá!</mensagem>
Elementos devem conter
tags inicial e final
<mensagem>
<frase>Olá Mundo!
</mensagem>
<mensagem>
<frase>Olá Mundo!</frase>
<frase/>
</mensagem>
As tags são case-sensitive
Mini Curso XML
<b>As tags são case sensitive!</B>
Elementos não podem se
sobrepor
<mensagem>
Mensagem de
<saudacao>Saudacao
</mensagem>
</saudacao>
<mensagem>
Mensagem de
<saudacao>Saudacao</saudacao>
</mensagem>
Os atributos devem estar
entre ASPAS
<mensagem id>Olá!</mensagem>
<documento>

<mensagem id="01">Olá</mensagem> <mensagem
id='02'>Mundo!</mensagem>
</documento>
Os atributos devem ser
únicos
<mensagem id="01" id="txt">Olá</mensagem>
<mensagem id="01" ID="02" iD="03" Id="04">
Olá
</mensagem>
Utilize os operadores < e & apenas para
iniciar uma tag ou referenciar entidades
• Os processadores XML sempre assumem que o
carácter < inicia uma tag e que o carácter & inicia uma
referência a uma entidade. Por este motivo, utilize as
entidades pré-definidas.
• Se por algum motivo o valor de um atributo ou elemento
utilizar algum dos caracteres < > “ ‘ e &, utilize as
entidades pré- definidas, pois os processadores dão
importância a esses caracteres.
Exercício 1 - Criar um documento
XML para a estrutura abaixo
Exercício 2 - Criar um documento
XML para cadastro de alunos
Exercício 3 - Criar um documento XML
para uma cesta de compra de uma loja
virtual
Instruções de
Processamento
Recurso para prover informações para uma
aplicação.
Não são parte do documento XML, mas são
passados às aplicações.
Instruções não reconhecidas são ignoradas.
Partes de Instruções de
Processamento
<?
Obrigatório - Indica o início da instrução de processamento XML literal.
piName
Obrigatório - Indica o nome do aplicativo de destino da instrução de processamento. Não pode
começar com "xml" ou "XML".
piData
Opcional - Indica como o aplicativo de destino de piName deve processar o documento XML.
?>
Obrigatório - Indica o final da instrução de processamento.
Exemplo:
<?comando tipo=“SQL" ?>
Seções CDATA
• Todos os textos enviados num arquivo XML é analisado (parser ou
parsing).
• Quando utilizamos as seções CDATAs (unparsed) os textos
presentes nesta seção não são analisados, desta forma podemos
enviar funções, caracteres especiais, fórmulas, elementos e etc…
Exemplo:
<![CDATA[
function matchwo(a,b){
if (a < b && a < 0) then {return 1;} else {return 0;}
}
]]>
Seções CDATA
• Regra não se pode aninhar (sobrepor) seções
CDATA.
Exemplo:
<![CDATA[
Teste <![CDATA[ 123456789 ]]>
]]>
<?xml version="1.0" encoding="UTF-8"?>
<documentoXML>
<titulo>Este é o conteúdo do XML de exemplo</titulo>
<conteudo>
<![CDATA[<contato>
<nome>Maria</nome>
<telefone>99999999</telefone>
</contato>
]]>
</conteudo>
</documentoXML>
Exercício 4 - Criar um documento XML para a migração dos
dados de filmes de uma locadora especializada em
documentários para o sistema da NetFlix, onde o titulo dos
filmes devem ser enviados com as TAGs HTML para
Negrito.
Exercício 5 - Desenvolver um Arquivo XML para
um pedido de locação conforme o modelo abaixo.
Exercício 6 - Transforme o modelo abaixo
numa estrutura para transmissão de
dados no formato XML.
Definições e
Validações
DTDs e XSDs
Agora preciso de um padrão de definição e uma
validação
Declarações de Tipos de
Documentos - DTD
• DTD - Document Type Definition.
• Um documento XML com a sintaxe correta é
chamado de bem formado (Well Formed).
• Um documento XML com a sintaxe correta e
validado através de um DTD e chamado de bem
formado e válido (Well Formed and Valid).
Declarações de Tipos de
Documentos - DTD
• Permite a criação de Tags.
• Definição dos blocos de construção de um documento XML.
• Permite a definição de semântica diferenciada de um
documento xml com as definições de:
• Declarações de elementos
• Declarações de listas de atributos Declarações de
entidades
• Declarações de notação
Por que utilizar um DTD?
!DOCTYPE note define o elemento
raiz deste documento.
!ELEMENT note define que o
elemento note terá quatro elementos:
"to,from,heading,body"
!ELEMENT to define que o elemento
to será do tipo "#PCDATA"
!ELEMENT from define que o
elemento from será do tipo
"#PCDATA"
!ELEMENT heading define que o
elemento heading será do tipo
"#PCDATA"
!ELEMENT body define que o
elemento body será do tipo
"#PCDATA"
XML Schema - XSD
• XSD - Xml Schema Definition
• Um XML Schema, descreve a estrutura de um
arquivo XML.
• Define:
• define os elementos que podem aparecer no
documento.
• define os atributos que podem aparecer no
documento.
• define quais elementos serão elementos filhos.
• define a ordem dos elementos.
• define o número de elementos filhos.
• define onde um elemento é vazio ou pode conter
um texto.
• define tipos de dados para elementos e atributos.
• define valores padrões para elementos e
atributos.
XSD Elementos Complexos
• Um elemento complexo é uma estrutura XML que contém mais de
um elemento dentro dele.
<xs:element name="employee">
<xs:complexType>
<xs:sequence>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
DTD x XSD
DTD XSD
Exercício 6 - Criar um documento
DTD para a estrutura abaixo
Exercício 7 - Criar um documento DTD
para a estrutura XML de uma cesta de
compra de uma loja virtual
Exercício 8 - Criar um XSD
para a estrutura abaixo
Exercício 9- Criar um XSD para o XML
XSL Languages
• XSL- Extensible Style Sheet Language
• CSS - Style Sheet para HTML
• XSL - Style Sheet para XML
• XSL é originalmente formado por três partes:
• XSLT - linguagem de transformação de documentos XML
• XPath - linguagem de navegação de documentos XML
• XSL-FO - linguagem de formatação de documentos XML
http://www.w3schools.com/xsl/tryxslt.asp?xmlfile=cdcatalog&xsltfile=cdcatalog
Para que usar o XML?
• Principal uso: compartilhamento de informações através da Internet.
• Identificação da informação: você pode definir suas próprias tags.
• Armazenamento de informação: XML é portável e não é proprietário.
• Estruturar informação: XML pode ser usado para identificar qualquer tipo
(hierárquico) de estrutura.
• Padrão Internacional.
• Publicação: combinando os últimos três tópicos (identificação,
armazenamento e estruturação) significa que podemos utilizar o XML para
publicá-lo na Web
• Mensagens e transferência de dados.
• Simplificação da mudança de plataforma.
• Web Services: o XML é usado para gestão da informação e transmissão.

Vantagens
• Flexível
• Auto-contida
• Portável
• Fácil de utilizar
• Robusta
• Legível
• Separação do conteúdo da formatação
Desvantagens
• Tamanho
• Custo de processamento
• Complexidade

Aula Introdução a Linguagem XML

  • 1.
    Linguagem para Organizaçãoe Transferência de dados para Web. Prof. Rudson Kiyoshi S. Carvalho Anhanguera - 2015 Parte - 1
  • 2.
  • 3.
    - Setia Tecnologia- Arquiteto de Software - Desenvolvedor Java, .NET e Sql Server - MBA - Engenharia de Software com ênfase em SOA - MBA - Arquitetura de Soluções - Bacharel em Sistemas de Informação
  • 4.
  • 5.
  • 6.
    Sistema de Avaliação OQUE MUDA: • Média para aprovação: 6,0 • ATPS: 20% da nota = até 2,0 pontos (1o e 2o Sem) • Arredondamento: uma casa decimal (5,85 = 5,9) • Frequência: mínimo 75% O QUE CONTINUA: • Pesos: 40% (1o Bim) / 60% (2o Bim) • 1o Bim (trabalho ou prova + ATPS) / 2o Bim (Prova +ATPS) • Prova substitutiva substitui a nota da B2
  • 7.
  • 8.
    Provas e Entregade Trabalho ATPS entrega: 31/Março Provas B1 – 06 a 10/Abril
  • 10.
    ATPS • Equipes de2 a 4 participantes. • Entregas: • Parte 1: 31-03-2015 • Relatório 1 - Manual de desenvolvimento XML. 
 • Relatório 2 - Manual de desenvolvimento DTD e CSS. • Parte 2: 09-06-2015 • Relatório 3 - Manual de desenvolvimento XSL. • Relatório 4 - Relacionamento XML e Base de Dados.
  • 11.
    ATPS - Entrega1- Relatório 1 • Passo1: Montar um descritivo (mínimo de 20 linhas) sobre a linguagem XML em si, detalhando os objetivos e as características da linguagem. Este descritivo deverá ser realizado de forma que profissionais de TI da empresa possam compreender os reais objetivos e características da linguagem, de forma clara e objetiva. • Passo 2: Descrever os principais elementos de sintaxe da linguagem, com exemplos de utilização das mesmas. O descritivo das sintaxes deve ser muito bem detalhado, com analogias referenciando a banco de dados, para facilitar a compreensão pela equipe de TI da Vassoura Vassourinha XXI Ltda. Segue exemplo em tabela 01 a seguir. • Passo 3: Montar um arquivo XML para interface das vendas entre a Vassoura Vassourinha XXI Ltda. e Vassouras Lindaura YY Ltda. baseado nos dados descritos a seguir. Notar que as empresas possuem dados divergentes em seus sistemas. Devem-se selecionar aqueles dados que possuem relevância às empresas. • Passo 4: Elaborar o Relatório 1 – Manual de Desenvolvimento XML. Baseados na especificação de trabalhos relacionada em “Padronização”, descrita neste documento; montar um documento de referência em XML para a equipe de TI da Vassoura Vassourinha XXI Ltda., contendo os resultados alcançados com a elaboração da Etapa 1.
  • 12.
    ATPS - Entrega1- Relatório 2 • Passo1:Montar um padrão para criação de dados XML, de modo que este padrão possa ser utilizado posteriormente para descrever o tipo de dados que aquele arquivo XML transporta. É necessária a criação de um padrão para criação de dados XML, de modo que este padrão possa ser utilizado posteriormente para descrever o tipo de dados que aquele arquivo XML transporta. Para tanto, é necessária a descrição detalhada dos atributos criados no passo 3 da 1a etapa. • Passo 2: Gerar um documento “DTD” (Definição do Tipo de Documento) para padronização do arquivo XML da empresa, baseado no passo anterior. 
 • Passo 3: Aplicar estilos aos atributos da linguagem, de modo que os atributos-árvore fiquem com fonte maior que seus respectivos atributos-folha. • Passo 4: Elaborar o Relatório 2 – Manual de desenvolvimento DTD e CSS. Baseados na especificação de trabalhos relacionada em “Padronização”, descrita neste documento, montar um documento de padronização de dados para a equipe de TI da Vassoura Vassourinha XXI Ltda., contendo os resultados alcançados com a elaboração da Etapa 2.
  • 13.
    ATPS - Entrega2- Relatório 1 • Passo1: Apresentar a linguagem XSL para a equipe de TI e descrever detalhadamente seu uso, conforme a etapa 1. Para tanto, eles precisam conhecer um meio de formatar a linguagem XML de maneira mais rápida. Você deve apresentar a linguagem XSL a equipe de TI e descrever detalhadamente seu uso, de maneira compreensível a eles, conforme explicado na etapa 1 deste documento. Basear-se no material apresentado nas aulas das semanas 12 e 13. • • Passo 2: Apresentar o conceito de arquivos formatadores de XSL, de modo que a equipe de TI possa futuramente elaborar um arquivo XSL.
 • Passo 3: Elaborar o Relatório 3 – Manual de desenvolvimento XSL. Baseados na especificação de trabalhos relacionada em “Padronização”, descrita neste documento, montar um documento de referência no uso de formatadores XSL para a equipe de TI da Vassoura Vassourinha Ltda., contendo os resultados alcançados com a elaboração da Etapa 3.
  • 14.
    ATPS - Entrega2- Relatório 2 • Passo1: Elaborar um documento em que a equipe de TI relacione as tabelas de vendas descritas na etapa 1 com os atributos da linguagem XML, de maneira simplificada e bem funcional. • Passo 2: Elaborar o Relatório 4 - Relacionamento XML e Base de Dados. Baseados na especificação de trabalhos relacionada em “Padronização”, descrita neste documento, montar um documento de referência da interface gerada para a equipe de TI da Vassoura Vassourinha XXI Ltda., contendo os resultados alcançados com a elaboração da etapa 4, bem como o relatório final a ser entregue para a equipe de TI da Vassoura Vassourinha XXI Ltda.
  • 15.
    Linguagem para Organizaçãoe Transferência de dados para Web.
  • 16.
  • 17.
    Conteúdo Programático Linguagem XML -Introdução - Conceitos básicos e sintaxe - Caracteres - Marcação (elementos e atributos) - Seções A abordagem da XML - Tipos de documentos - Tipos de elementos - Declaração e tipos de atributos - Seções condicionais Estruturas Lógicas e físicas em documentos XML Mecanismos de estilos XML - Uso de folhas de estilo Processador de XML Conceitos e utilização de XSL Desenvolvimento de aplicações
  • 18.
    Bibliografia Básica Padrão 1-)GOLDBERG, Kevin Howard. Guia Prático Visual XML. 1a ed. São Paulo: Alta Books, 2009. 2) RAY, Erik T.. Aprendendo XML. 1a ed. Rio de Janeiro: Campus - Elsevier, 2001. 3) DEITEL, Harvery M.; DEITEL, Paul J.; et al.. XML : Como Programar. 1a ed. Porto Alegre: Bookman, 2003. 4) WAHLIN, Dan. XML e ASP.NET para desenvolvedores. 1a ed. São Paulo: Pearson, 2003.
  • 20.
  • 21.
    O que éXML? X M L ( E X t e n s i b l e M a r k u p Language) ou linguagem extensível de marcação, é uma linguagem designada para descrever e estruturar informações. Como uma linguagem de marcação, o XML se assemelha com a linguagem HTML, possuindo marcações para descrever os dados. Porém, estas marcações não são pré-definidas na linguagem, tornando possível a criação de marcações de acordo com necessidades específicas.
  • 22.
    O poder doXML • Sintaxe simples • Definição infinita de tags • Extensão e Adaptação • Personalização • Reutilização • Gratuito - Padrão Livre (W3C) • Multiplataforma
  • 23.
    HTML x XML •HTML (HyperText Markup Language) - Descreve aparência e ações. • XML (Extensible Markup Language) - Descreve a representação de algo.
  • 24.
  • 25.
    Como escrever um documentoXML? • Podem ser escritos à mão usando um editor. • Podem ser gerados automaticamente, para: • Troca de dados, protocolos entre aplicativos. • Importação/exportação entre diferentes formatos de dados (relacional -> xml, xml -> relacional, etc.) • Marcação de saída relativamente simples: fprintf(sdtout, “<titulo>titulo livro</titulo>"n); System.out.printl(“<titulo>titulo livro</titulo>"n); File.WriteAllText(“c: arquivo.xml”,“<para>paragrafo</para>”);
  • 26.
    Como ler umdocumento XML? • Software deve ser usado para ler um documento XML • A leitura é mais complexa do que a escrita • Várias questões: • Caracteres como "enter" "espaços em branco" devem ser sempre tratados • Substituição de entidades no texto. • Processar DTD/XML Schema
  • 27.
    Marcadores • Elementos • Atributos •Referências a entidades • Comentários • Instruções de Processamento • Seções Formatadas • Definições de Tipos de Documentos - DTD • XML Schema - XSD • XML Style Sheet - XSL • XML Style Sheet Transformation - XSLT
  • 28.
    Declaração XML A declaraçãoXML utiliza o elemento <?xml atributos… ?>. <?xml version="1.0" encoding="UTF-8" standalone="yes"?> ︎ Existem três atributos que podem ser usados na declaração: • Version – é a versão do XML, que pode ser 1.0 ou 1.1. Este atributo é obrigatório se você usar a declaração XML; • Encoding – é a linguagem de codificação do documento. O padrão é UTF-8. Este atributo é opcional; • Standalone – os valores possíveis são “yes” ou “no”. Use “yes” se o documento não faz referência a documentos externos ou entidades. Use “no” caso contrário. Este atributo é opcional.
  • 29.
    Elemento Marcação mais comum
 Delimitadopor < e > Exemplos: <elemento> mensagem de texto </elemento> <elemento/>
  • 30.
    Atributos Pares nome-valor quecaracterizam o elemento Em XML, todos os atributos devem vir entre aspas. Exemplo: <camiseta tamanho=“p”>Polo</camiseta>
  • 31.
    Referências a Entidades Utilizadaspara representar caracteres especiais: • &lt; que corresponde a < • &gt; que corresponde a > • &amp; que corresponde a & • &quot; que corresponde a “ • &apos; que corresponde a ‘ <PI>&#227;</PI> (UNICODE)

  • 32.
    Comentários Não são processadospelo interpretador XML Início do comentário: <!--
 Fim do comentário: --> Exemplo: <!-- Este texto é apenas um comentário -->
  • 33.
    <?xml version="1.0" encoding="UTF-8"?> <!--Aqui começa o email --> <mensagem> <!-- quem enviou a mensagem --> <de>algu&#233;m</de> <para>uma pessoa</para> <!-- tag assunto foi comentada --> <!-- <assunto>digite o assunto</assunto> --> <texto>abcdefghijk</texto> </mensagem> Comentários
  • 35.
  • 36.
    O documento XMLdeve começar com uma declaração XML <!-- Não é permitido! --> <?xml version="1.0" encoding="UTF-8"?>
  • 37.
    O elemento raizdeve conter todos os outros elementos <mensagem>Olá!</mensagem> <mensagem>Hello!</mensagem>
  • 38.
    O documento XMLdeve ter pelo menos 1 elemento <mensagem>Olá!</mensagem>
  • 39.
    Elementos devem conter tagsinicial e final <mensagem> <frase>Olá Mundo! </mensagem> <mensagem> <frase>Olá Mundo!</frase> <frase/> </mensagem>
  • 40.
    As tags sãocase-sensitive Mini Curso XML <b>As tags são case sensitive!</B>
  • 41.
    Elementos não podemse sobrepor <mensagem> Mensagem de <saudacao>Saudacao </mensagem> </saudacao> <mensagem> Mensagem de <saudacao>Saudacao</saudacao> </mensagem>
  • 42.
    Os atributos devemestar entre ASPAS <mensagem id>Olá!</mensagem> <documento>
 <mensagem id="01">Olá</mensagem> <mensagem id='02'>Mundo!</mensagem> </documento>
  • 43.
    Os atributos devemser únicos <mensagem id="01" id="txt">Olá</mensagem> <mensagem id="01" ID="02" iD="03" Id="04"> Olá </mensagem>
  • 44.
    Utilize os operadores< e & apenas para iniciar uma tag ou referenciar entidades • Os processadores XML sempre assumem que o carácter < inicia uma tag e que o carácter & inicia uma referência a uma entidade. Por este motivo, utilize as entidades pré-definidas. • Se por algum motivo o valor de um atributo ou elemento utilizar algum dos caracteres < > “ ‘ e &, utilize as entidades pré- definidas, pois os processadores dão importância a esses caracteres.
  • 45.
    Exercício 1 -Criar um documento XML para a estrutura abaixo
  • 46.
    Exercício 2 -Criar um documento XML para cadastro de alunos
  • 47.
    Exercício 3 -Criar um documento XML para uma cesta de compra de uma loja virtual
  • 48.
    Instruções de Processamento Recurso paraprover informações para uma aplicação. Não são parte do documento XML, mas são passados às aplicações. Instruções não reconhecidas são ignoradas.
  • 49.
    Partes de Instruçõesde Processamento <? Obrigatório - Indica o início da instrução de processamento XML literal. piName Obrigatório - Indica o nome do aplicativo de destino da instrução de processamento. Não pode começar com "xml" ou "XML". piData Opcional - Indica como o aplicativo de destino de piName deve processar o documento XML. ?> Obrigatório - Indica o final da instrução de processamento. Exemplo: <?comando tipo=“SQL" ?>
  • 50.
    Seções CDATA • Todosos textos enviados num arquivo XML é analisado (parser ou parsing). • Quando utilizamos as seções CDATAs (unparsed) os textos presentes nesta seção não são analisados, desta forma podemos enviar funções, caracteres especiais, fórmulas, elementos e etc… Exemplo: <![CDATA[ function matchwo(a,b){ if (a < b && a < 0) then {return 1;} else {return 0;} } ]]>
  • 51.
    Seções CDATA • Regranão se pode aninhar (sobrepor) seções CDATA. Exemplo: <![CDATA[ Teste <![CDATA[ 123456789 ]]> ]]>
  • 52.
    <?xml version="1.0" encoding="UTF-8"?> <documentoXML> <titulo>Esteé o conteúdo do XML de exemplo</titulo> <conteudo> <![CDATA[<contato> <nome>Maria</nome> <telefone>99999999</telefone> </contato> ]]> </conteudo> </documentoXML>
  • 53.
    Exercício 4 -Criar um documento XML para a migração dos dados de filmes de uma locadora especializada em documentários para o sistema da NetFlix, onde o titulo dos filmes devem ser enviados com as TAGs HTML para Negrito.
  • 54.
    Exercício 5 -Desenvolver um Arquivo XML para um pedido de locação conforme o modelo abaixo.
  • 55.
    Exercício 6 -Transforme o modelo abaixo numa estrutura para transmissão de dados no formato XML.
  • 56.
  • 57.
    Agora preciso deum padrão de definição e uma validação
  • 58.
    Declarações de Tiposde Documentos - DTD • DTD - Document Type Definition. • Um documento XML com a sintaxe correta é chamado de bem formado (Well Formed). • Um documento XML com a sintaxe correta e validado através de um DTD e chamado de bem formado e válido (Well Formed and Valid).
  • 59.
    Declarações de Tiposde Documentos - DTD • Permite a criação de Tags. • Definição dos blocos de construção de um documento XML. • Permite a definição de semântica diferenciada de um documento xml com as definições de: • Declarações de elementos • Declarações de listas de atributos Declarações de entidades • Declarações de notação
  • 60.
    Por que utilizarum DTD? !DOCTYPE note define o elemento raiz deste documento. !ELEMENT note define que o elemento note terá quatro elementos: "to,from,heading,body" !ELEMENT to define que o elemento to será do tipo "#PCDATA" !ELEMENT from define que o elemento from será do tipo "#PCDATA" !ELEMENT heading define que o elemento heading será do tipo "#PCDATA" !ELEMENT body define que o elemento body será do tipo "#PCDATA"
  • 61.
    XML Schema -XSD • XSD - Xml Schema Definition • Um XML Schema, descreve a estrutura de um arquivo XML. • Define: • define os elementos que podem aparecer no documento. • define os atributos que podem aparecer no documento. • define quais elementos serão elementos filhos. • define a ordem dos elementos. • define o número de elementos filhos. • define onde um elemento é vazio ou pode conter um texto. • define tipos de dados para elementos e atributos. • define valores padrões para elementos e atributos.
  • 62.
    XSD Elementos Complexos •Um elemento complexo é uma estrutura XML que contém mais de um elemento dentro dele. <xs:element name="employee"> <xs:complexType> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element>
  • 63.
  • 64.
    Exercício 6 -Criar um documento DTD para a estrutura abaixo
  • 65.
    Exercício 7 -Criar um documento DTD para a estrutura XML de uma cesta de compra de uma loja virtual
  • 66.
    Exercício 8 -Criar um XSD para a estrutura abaixo
  • 67.
    Exercício 9- Criarum XSD para o XML
  • 68.
    XSL Languages • XSL-Extensible Style Sheet Language • CSS - Style Sheet para HTML • XSL - Style Sheet para XML • XSL é originalmente formado por três partes: • XSLT - linguagem de transformação de documentos XML • XPath - linguagem de navegação de documentos XML • XSL-FO - linguagem de formatação de documentos XML
  • 70.
  • 71.
    Para que usaro XML? • Principal uso: compartilhamento de informações através da Internet. • Identificação da informação: você pode definir suas próprias tags. • Armazenamento de informação: XML é portável e não é proprietário. • Estruturar informação: XML pode ser usado para identificar qualquer tipo (hierárquico) de estrutura. • Padrão Internacional. • Publicação: combinando os últimos três tópicos (identificação, armazenamento e estruturação) significa que podemos utilizar o XML para publicá-lo na Web • Mensagens e transferência de dados. • Simplificação da mudança de plataforma. • Web Services: o XML é usado para gestão da informação e transmissão.

  • 72.
    Vantagens • Flexível • Auto-contida •Portável • Fácil de utilizar • Robusta • Legível • Separação do conteúdo da formatação
  • 73.
    Desvantagens • Tamanho • Custode processamento • Complexidade