XML Tutorial2017 PT
XML Tutorial2017 PT
Sobre o tutorial
XML significa Extensible Markup Language (Linguagem de Marcação Extensível) e é uma
linguagem de marcação baseada em texto derivada da Standard Generalized Markup
Language (SGML).
Este tutorial ensinará a você os conceitos básicos de XML. O tutorial é dividido em seções,
como XML Basics, XML Advanced e XML tools. Cada uma dessas seções contém tópicos
relacionados com exemplos simples e úteis.
Público
Essa referência foi preparada para iniciantes para ajudá-los a entender os conceitos básicos e
avançados relacionados ao XML. Este tutorial lhe dará conhecimento suficiente sobre XML, a
partir do qual você poderá atingir um nível mais alto de conhecimento.
Pré-requisitos
Antes de prosseguir com este tutorial, você deve ter conhecimentos básicos de HTML e
JavaScript.
Nós nos esforçamos para atualizar o conteúdo do nosso site e dos tutoriais da forma mais
oportuna e precisa possível; no entanto, o conteúdo pode conter imprecisões ou erros. A
Tutorials Point (I) Pvt. Ltd. não oferece nenhuma garantia com relação à precisão,
pontualidade ou integridade de nosso site ou de seu conteúdo, incluindo este tutorial. Se
descobrir algum erro em nosso site ou neste tutorial, notifique-nos pelo e-mail
contact@tutorialspoint.com
i
XML
Índice
Sobre o tutorial .....................................................................................................................................................i
Público...................................................................................................................................................................i
Pré-requisitos ........................................................................................................................................................i
Direitos autorais e isenção de responsabilidade...................................................................................................i
Índice....................................................................................................................................................................ii
XML BÁSICO................................................................................................................................1
2. XML - Sintaxe.......................................................................................................................................................4
4. XML - Declaração.................................................................................................................................................9
5. XML - Tags..........................................................................................................................................................11
Etiqueta inicial ....................................................................................................................................................11
Etiqueta final ......................................................................................................................................................11
Etiqueta vazia .....................................................................................................................................................11
Regras de tags XML............................................................................................................................................12
6. XML - Elementos................................................................................................................................................13
Elemento vazio...................................................................................................................................................13
Regras de elementos XML ..................................................................................................................................14
ii
XML
13. XML - Codificação ..............................................................................................................................................26
Tipos de codificação...........................................................................................................................................26
iii
XML
1
1. XML - Visão geral XML
As tags XML identificam os dados e são usadas para armazenar e organizar os dados, em vez
de especificar como exibi-los, como as tags HTML, que são usadas para exibir os dados. O
XML não substituirá o HTML em um futuro próximo, mas apresenta novas possibilidades ao
adotar muitos recursos bem-sucedidos do HTML.
• O XML é extensível: O XML permite que você crie suas próprias tags ou
linguagem autodescritivas, adequadas ao seu aplicativo.
• XML é um padrão público: O XML foi desenvolvido por uma organização chamada
World Wide Web Consortium (W3C) e está disponível como um padrão aberto.
Uso do XML
Uma pequena lista de uso do XML diz tudo:
• O XML pode funcionar nos bastidores para simplificar a criação de documentos HTML
para grandes sites da Web.
• O XML pode ser usado para trocar informações entre organizações e sistemas.
• O XML pode ser usado para armazenar e organizar os dados, o que pode
personalizar suas necessidades de manipulação de dados.
• O XML pode ser facilmente mesclado com folhas de estilo para criar praticamente qualquer resultado
desejado.
• Praticamente, qualquer tipo de dado pode ser expresso como um documento XML.
2
XML
O que é marcação?
XML é uma linguagem de marcação que define um conjunto de regras para codificar
documentos em um formato que pode ser lido por humanos e por máquinas. Então, o
que exatamente é uma linguagem de marcação? A marcação é uma informação
adicionada a um documento que aprimora seu significado de determinadas maneiras,
identificando as partes e como elas se relacionam entre si. Mais especificamente, uma
linguagem de marcação é um conjunto de símbolos que podem ser colocados no texto de
um documento para demarcar e rotular as partes desse documento.
O exemplo a seguir mostra a aparência da marcação XML quando incorporada em um trecho de texto:
<mensagem>
<texto>Olá, mundo!</texto>
</mensagem>
Esse snippet inclui os símbolos de marcação ou as tags, como
<message>...</message> e <text>... </text>. As tags <message> e </message>
marcam o início e o fim do fragmento de código XML. As tags <text> e </text>
envolvem o texto Hello, world!
3
2. XML - Sintaxe XML
<?xml version="1.0"?>
<info de contato>
<nome>Tanmay Patil</nome>
<empresa>TutorialsPoint</empresa>
<phone>(011) 123-4567</phone>
</contato-info>
Você pode notar que há dois tipos de informações no exemplo acima:
O diagrama a seguir mostra as regras de sintaxe para escrever diferentes tipos de marcação e
texto em um documento XML.
4
XML
Declaração XML
O documento XML pode, opcionalmente, ter uma declaração XML. Ela é escrita da seguinte forma:
Tags e elementos
Um arquivo XML é estruturado por vários elementos XML, também chamados de nós
XML ou tags XML. Os nomes dos elementos XML são colocados entre colchetes
triangulares < >, conforme mostrado abaixo:
<elemento>
<elemento> ......</element>
ou, em casos simples, desta forma:
<element/>
Aninhamento de elementos: Um elemento XML pode conter vários elementos XML
como seus filhos, mas os elementos filhos não devem se sobrepor. Ou seja, uma tag de fim
de um elemento deve ter o mesmo nome da tag de início sem correspondência mais recente.
5
XML
<?xml version="1.0"?>
<info de contato>
<empresa>TutorialsPoint
<info de contato>
</empresa>
O exemplo a seguir mostra as tags aninhadas corretas:
<?xml version="1.0"?>
<info de contato>
<empresa>TutorialsPoint</empresa>
<info de contato>
Elemento raiz: Um documento XML pode ter apenas um elemento raiz. Por exemplo, o
seguinte não é um documento XML correto, pois os elementos x e y ocorrem no nível
superior sem um elemento raiz:
<x>...</x>
<y>...</y>
O exemplo a seguir mostra um documento XML formado corretamente:
<raiz>
<x>...</x>
<y>...</y>
</root>
Sensibilidade a maiúsculas e minúsculas: Os nomes dos elementos XML diferenciam
maiúsculas de minúsculas. Isso significa que o nome dos elementos inicial e final precisam
estar exatamente no mesmo caso.
Atributos XML
Um atributo especifica uma única propriedade para o elemento, usando um par
nome/valor. Um elemento XML pode ter um ou mais atributos. Por exemplo:
<a href="http://www.tutorialspoint.com/">Tutorialspoint!</a>
Aqui, href é o nome do atributo e http://www.tutorialspoint.com/ é o valor do
atributo.
6
XML
• O mesmo atributo não pode ter dois valores em uma sintaxe. O exemplo a seguir
mostra uma sintaxe incorreta porque o atributo b é especificado duas vezes:
<a b=x>..........</a>
Na sintaxe acima, o valor do atributo não é definido entre aspas.
Referências XML
As referências geralmente permitem adicionar ou incluir texto ou marcação adicional em um
documento XML. As referências sempre começam com o símbolo "&", que é um caractere
reservado, e terminam com o símbolo ";". O XML tem dois tipos de referências:
Texto XML
Os nomes dos elementos XML e dos atributos XML diferenciam maiúsculas de minúsculas, o
que significa que o nome dos elementos inicial e final precisa ser escrito no mesmo caso. Para
evitar problemas de codificação de caracteres, todos os arquivos XML devem ser salvos como
arquivos Unicode UTF-8 ou UTF-16.
Alguns caracteres são reservados pela própria sintaxe XML. Portanto, eles não podem ser
usados diretamente. Para usá-los, são usadas algumas entidades de substituição, listadas
abaixo:
7
3. XML - Documentos XML
<?xml version="1.0"?>
<info de contato>
<nome>Tanmay Patil</nome>
<empresa>TutorialsPoint</empresa>
<phone>(011) 123-4567</phone>
</contato-info>
A imagem a seguir mostra as partes do documento XML.
• Declaração XML
• Declaração de tipo de documento
Você pode saber mais sobre a declaração XML neste capítulo: Declaração XML.
Você pode saber mais sobre os elementos XML neste capítulo: Elementos XML
8
4. XML - Declaração XML
Este capítulo aborda a declaração XML em detalhes. A declaração XML contém detalhes
que preparam um processador XML para analisar o documento XML. E l a é opcional, mas,
quando usada, deve aparecer na primeira linha do documento XML.
Sintaxe
A sintaxe a seguir mostra a declaração XML:
<?xml
version="version_number"
encoding="encoding_declaration"
standalone="standalone_status"
?>
Cada parâmetro consiste em um nome de parâmetro, um sinal de igual (=) e o valor
do parâmetro dentro de uma aspa. A tabela a seguir mostra a sintaxe acima em
detalhes:
9
XML
Regras
Uma declaração XML deve obedecer às seguintes regras:
• Se a declaração XML estiver presente no XML, ela deverá ser colocada como a
primeira linha do documento XML.
• Se a declaração XML for incluída, ela deverá conter o atributo do número da versão.
<?xml >
Declaração XML com definição de versão:
<?xml version="1.0">
Declaração XML com todos os parâmetros definidos:
10
5. XML - Tags XML
Vamos aprender sobre uma das partes mais importantes da XML, as tags XML. As tags
XML formam a base da XML. Elas definem o escopo de um elemento em XML. Também
podem ser usadas para inserir comentários, declarar configurações necessárias para
analisar o ambiente e inserir instruções especiais.
Etiqueta inicial
O início de cada elemento XML não vazio é marcado por uma tag de início. A seguir, um
exemplo de tag de início:
<endereço>
Fim da tag
Todo elemento que tem uma tag de início deve terminar com uma tag de fim. A seguir,
um exemplo de tag final:
</endereço>
Observe que as tags finais incluem um sólido ("/") antes do nome de um elemento.
Etiqueta vazia
O texto que aparece entre a tag inicial e a tag final é chamado de conteúdo. Um elemento
que não tem conteúdo é denominado vazio. Um elemento vazio pode ser representado de
duas maneiras, como segue:
Uma tag de início imediatamente seguida por uma tag de fim, conforme mostrado abaixo:
<hr></hr>
Uma tag de elemento vazio completa é a mostrada abaixo:
<hr />
As tags de elemento vazio podem ser usadas para qualquer elemento que não tenha conteúdo.
11
XML
Regra 1
As tags XML diferenciam maiúsculas de minúsculas. A linha de código a seguir é um exemplo de sintaxe
incorreta
</Address>, devido à diferença de maiúsculas e minúsculas em duas tags, que é tratada como
sintaxe incorreta em XML.
Regra 2
As tags XML devem ser fechadas em uma ordem apropriada, ou seja, uma tag XML aberta
dentro de outro elemento deve ser fechada antes que o elemento externo seja fechado. Por
exemplo:
<outer_element>
<elemento_interno>
Essa tag é fechada antes do elemento_externo
</elemento_interno>
</outer_element>
12
6. XML - Elementos XML
Cada documento XML contém um ou mais elementos, cujo escopo é delimitado por tags
de início e fim ou, no caso de elementos vazios, por uma tag de elemento vazio.
Sintaxe
A seguir, a sintaxe para escrever um elemento XML:
name é seguido por um sinal = e um valor de string dentro de double (" ") ou single (' ')
citações.
Elemento vazio
Um elemento vazio (elemento sem conteúdo) tem a seguinte sintaxe:
<?xml version="1.0"?>
<info de contato>
<address category="residence">
<nome>Tanmay Patil</nome>
<empresa>TutorialsPoint</empresa>
<phone>(011) 123-4567</phone>
<endereço/>
</contato-info>
13
XML
14
7. XML - Atributos XML
Este capítulo descreve os atributos XML. Os atributos fazem parte dos elementos XML. Um
elemento pode ter vários atributos exclusivos. O atributo fornece mais informações sobre os
elementos XML. Para ser mais preciso, eles definem as propriedades dos elementos. Um
atributo XML é sempre um par nome-valor.
Sintaxe
Um atributo XML tem a seguinte sintaxe:
15
XML
Os atributos são usados para distinguir entre elementos com o mesmo nome, quando não se
deseja criar um novo elemento para cada situação. Portanto, o uso de um atributo pode
acrescentar um pouco mais de detalhes na diferenciação de dois ou mais elementos
semelhantes.
Você também pode observar que declaramos esse atributo no início do XML.
Atributo Tipos
A tabela a seguir lista os tipos de atributos:
16
XML
• Um nome de atributo não deve aparecer mais de uma vez na mesma tag de início ou
de elemento vazio.
17
8. XML - Comentários XML
Os comentários podem ser usados para incluir links, informações e termos relacionados. Eles
são visíveis somente no código-fonte, não no código XML. Os comentários podem aparecer
em qualquer lugar no código XML.
Sintaxe
O comentário XML tem a seguinte sintaxe:
<!-------Seu comentário--------->
Um comentário começa com <!-- e termina com -->. Você pode adicionar notas textuais
como comentários entre os caracteres. Você não deve aninhar um comentário dentro do
outro.
Exemplo
O exemplo a seguir demonstra o uso de comentários em um documento XML:
18
9. XML - Entidades de caracteres XML
"A entidade documento serve como raiz da árvore de entidades e como ponto de partida
para um processador XML."
Isso significa que as entidades são os espaços reservados em XML. Elas podem ser declaradas
no prólogo do documento ou em uma DTD. Há diferentes tipos de entidades e, neste
capítulo, discutiremos a Entidade Caractere.
Tanto o HTML quanto o XML têm alguns símbolos reservados para seu uso, que não
podem ser usados como conteúdo no código XML. Por exemplo, os sinais < e > são
usados para abrir e fechar tags XML. Para exibir esses caracteres especiais, são usadas as
entidades de caracteres.
Há alguns caracteres ou símbolos especiais que não estão disponíveis para serem
digitados diretamente no teclado. As entidades de caracteres também podem ser usadas
para exibir esses símbolos/caracteres especiais.
• E comercial: &
• Aspas simples: '
• Maior que: >
• Menor que: <
• Aspas duplas: "
19
XML
A tabela a seguir lista algumas entidades de caracteres predefinidas com seus valores numéricos:
Por exemplo:
20
10. XML - Seções CDATA XML
Neste capítulo, discutiremos a seção CDATA do XML. O termo CDATA significa Dados
de Caracteres. CDATA é definido como blocos de texto que não são analisados pelo
analisador, mas que são reconhecidos como marcação.
As entidades predefinidas, como <, > e &, exigem digitação e geralmente são
difíceis de ler na marcação. Nesses casos, a seção CDATA pode ser usada. Ao usar a seção
CDATA, você está informando ao analisador que a seção específica do documento não
contém marcação e deve ser tratada como texto normal.
Sintaxe
A seguir, a sintaxe da seção CDATA:
<![CDATA[
caracteres com marcação
]]>
A sintaxe acima é composta de três seções:
Exemplo
O código de marcação a seguir mostra um exemplo de CDATA. Aqui, cada caractere
escrito dentro da seção CDATA é ignorado pelo analisador.
<script>
<![CDATA[
<mensagem> Bem-vindo ao TutorialsPoint </mensagem>
]] >
</script >
Na sintaxe acima, tudo entre <message> e </message> é tratado como dados de
caracteres e não como marcação.
21
XML
CDATA Regras
As regras fornecidas devem ser seguidas para XML CDATA:
• CDATA não pode conter a string "]]>" em nenhum lugar do documento XML.
• O aninhamento não é permitido na seção CDATA.
22
11. XML - Espaços em branco XML
<nome>TanmayPatil</nome>
e
<nome>Tanmay Patil</nome>
Os dois elementos acima são diferentes por causa do espaço entre Tanmay e Patil.
Qualquer programa que leia esse elemento em um arquivo XML é obrigado a manter a
distinção.
<address.category="residence">
ou
<endereço ...category="..residence">
Os exemplos acima são os mesmos. Aqui, o espaço é representado por pontos (.). No
exemplo acima, o espaço entre o endereço e a categoria é insignificante.
Um atributo especial chamado xml:space pode ser anexado a um elemento. Isso indica que
o espaço em branco não deve ser removido pelo aplicativo para esse elemento. Você pode
definir esse atributo como padrão ou preservar, conforme mostrado no exemplo a seguir:
• O valor preserve indica que o aplicativo deve preservar todos os espaços em branco.
23
12. XML - Processamento XML
As instruções de processamento (PIs) podem ser usadas para transmitir informações aos
aplicativos. As PIs podem aparecer em qualquer lugar do documento fora da marcação.
Elas podem aparecer no prólogo, incluindo a definição do tipo de documento (DTD), no
conteúdo textual ou após o documento.
Sintaxe
A seguir, a sintaxe do PI:
<?instruções de destino?>
Onde,
Um PI começa com uma tag especial <? e termina com ?>. O processamento do
conteúdo termina imediatamente após a string ?> ser encontrada.
Exemplo
Os PIs raramente são usados. Eles são usados principalmente para vincular um documento
XML a uma folha de estilo. Veja a seguir um exemplo:
Nesse caso, um navegador reconhece o destino indicando que o XML deve ser transformado
antes de ser exibido; o primeiro atributo indica que o tipo de transformação é XSL e o
segundo atributo aponta para seu local.
24
XML
<?welcome?>
25
13. XML14.
- XML
Codificação
Tipos de codificação
Há principalmente dois tipos de codificação:
• UTF-8
• UTF-16
UTF significa UCS Transformation Format, e UCS significa Universal Character Set. O
número 8 ou 16 refere-se ao número de bits usados para representar um caractere. Eles
são 8 (um byte) ou 16 (dois bytes). Para os documentos sem informações de codificação,
o UTF-8 é definido por padrão.
Sintaxe
O tipo de codificação é incluído na seção de prólogo do documento XML. A sintaxe para a
codificação UTF-8 é a seguinte:
Exemplo
O exemplo a seguir mostra a declaração de codificação:
Os arquivos XML codificados com UTF-8 tendem a ter um tamanho menor do que os
codificados com o formato UTF-16.
26
14. XML - Validação XML
• Ela deve seguir a ordem da tag, ou seja, a tag interna deve ser fechada antes de
fechar a tag externa.
• Cada uma de suas tags de abertura deve ter uma tag de fechamento ou deve ser
uma tag autoconclusiva (<title>. </title> ou <title/>).
• Ele deve ter apenas um atributo em uma tag inicial, que precisa ser citado.
Exemplo
A seguir, um exemplo de um documento XML bem formado:
</endereço>
O exemplo acima é considerado bem-formado como:
28
XML
Advance XML
29
15. XML - DTDs XML
Uma DTD XML pode ser especificada dentro do documento ou pode ser mantida em um
documento separado e depois apreciada separadamente.
Sintaxe
A sintaxe básica de uma DTD é a seguinte:
DTD interna
Uma DTD é chamada de DTD interna se os elementos forem declarados nos arquivos XML.
Para se referir a ela como DTD interna, o atributo autônomo na declaração XML deve ser
definido como sim. Isso significa que a declaração funciona independentemente de uma
fonte externa.
30
XML
Sintaxe
A seguir, a sintaxe da DTD interna:
Exemplo
A seguir, um exemplo simples de DTD interna:
<!DOCTYPE address [
A declaração DOCTYPE tem um ponto de exclamação (!) no início do nome do elemento.
O DOCTYPE informa ao analisador que uma DTD está associada a esse documento XML.
Corpo da DTD - A declaração DOCTYPE é seguida pelo corpo da DTD, onde você declara
elementos, atributos, entidades e notações.
31
XML
Regras
• A declaração do tipo de documento deve aparecer no início do documento (precedida
apenas pelo cabeçalho XML) - não é permitida em nenhum outro lugar do
documento.
DTD externo
Em uma DTD externa, os elementos são declarados fora do arquivo XML. Eles são acessados
especificando-se os atributos do sistema, que podem ser o arquivo .dtd legal ou um URL
válido. Para se referir a ele como DTD externo, o atributo autônomo na declaração XML deve
ser definido como não. Isso significa que a declaração inclui informações da fonte externa.
Sintaxe
A seguir, a sintaxe da DTD externa:
Exemplo
O exemplo a seguir mostra o uso de DTD externo:
32
XML
Tipos
Você pode fazer referência a uma DTD externa usando identificadores de sistema ou
identificadores públicos.
Identificadores de sistema
Um identificador de sistema permite especificar o local de um arquivo externo que
contém declarações de DTD. A sintaxe é a seguinte:
Identificadores públicos
Os identificadores públicos fornecem um mecanismo para localizar recursos de DTD e são escritos da
seguinte forma:
33
16. XML - Esquemas XML
O esquema XML é comumente conhecido como definição de esquema XML (XSD). Ele
é usado para descrever e validar a estrutura e o conteúdo dos dados XML. O esquema
XML define os elementos, atributos e tipos de dados. O elemento de esquema suporta
Namespaces. É semelhante a um esquema de banco de dados que descreve os dados em
um banco de dados.
Sintaxe
Você precisa declarar um esquema em seu documento XML da seguinte forma:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
Exemplo
O exemplo a seguir mostra como usar o esquema:
Elementos
Como vimos no capítulo XML - Elementos, os elementos são os blocos de construção do
documento XML. Um elemento pode ser definido em um XSD da seguinte forma:
34
XML
Tipos de definição
Você pode definir elementos de esquema XML das seguintes maneiras:
Tipo simples
O elemento de tipo simples é usado somente no contexto do texto. Alguns dos tipos
simples predefinidos são: xs:integer, xs:boolean, xs:string, xs:date. Por e x e m p l o :
Tipo de complexo
Um tipo complexo é um contêiner para outras definições de elementos. Isso permite que
você especifique quais elementos filhos um elemento pode conter e forneça alguma
estrutura em seus documentos XML. Por exemplo:
<xs:element name="Address">
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="xs:string" />
<xs:element name="company" type="xs:string" />
<xs:element name="phone" type="xs:int" />
</xs:sequence>
</xs:complexType>
</xs:element>
No exemplo acima, o elemento Address consiste em elementos filhos. Esse é um
contêiner para outras definições <xs:element>, que permite criar uma hierarquia
simples de elementos no documento XML.
Tipos globais
Com o tipo global, você pode definir um único tipo em seu documento, que pode ser
usado por todas as outras referências. Por e x e m p l o , suponha que você queira
generalizar a pessoa e a empresa para diferentes endereços da empresa. Nesse caso,
você pode definir um tipo geral da seguinte forma:
<xs:element name="AddressType">
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="xs:string" />
<xs:element name="company" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
35
XML
<xs:element name="Address1">
<xs:complexType>
<xs:sequence>
<xs:element name="address" type="AddressType" />
<xs:element name="phone1" type="xs:int" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Address2">
<xs:complexType>
<xs:sequence>
<xs:element name="address" type="AddressType" />
<xs:element name="phone2" type="xs:int" />
</xs:sequence>
</xs:complexType>
</xs:element>
Em vez de ter de definir o nome e a empresa duas vezes (uma para Address1 e outra para
Address2), agora temos uma única definição. Isso s i m p l i f i c a a manutenção, ou seja, se
você decidir adicionar elementos "Postcode" ao endereço, precisará adicioná-los em apenas
um local.
Atributos
Os atributos no XSD fornecem informações adicionais em um elemento. Os atributos têm
propriedades de nome e tipo, conforme mostrado abaixo:
36
17. XML - Estrutura em árvore XML
A estrutura em árvore contém elementos raiz (pai), elementos filhos e assim por diante.
Ao usar a estrutura em árvore, você pode conhecer todos os ramos e sub-ramos
subsequentes a partir da raiz. A análise começa na raiz, depois desce pela primeira
ramificação até um elemento, pega a primeira ramificação a partir daí e assim por diante
até os nós das folhas.
Exemplo
O exemplo a seguir demonstra uma estrutura simples de árvore XML:
<?xml version="1.0"?>
<Empresa>
<Empregado>
<FirstName>Tanmay</FirstName>
<LastName>Patil</LastName>
<ContactNo>1234567890</ContactNo>
<Email>tanmaypatil@xyz.com</Email>
<Endereço>
<Cidade>Bangalore</Cidade>
<Estado>Karnataka</Estado>
<Zip>560212</Zip>
</Endereço>
</Empregado>
</Empresa>
37
XML
38
18. XML - DOM XML
O DOM (Document Object Model) é a base do XML. Os documentos XML têm uma
hierarquia de unidades informativas chamadas nós; o DOM é uma forma de descrever esses
nós e as relações entre eles.
O XML DOM, por outro lado, também fornece uma API que permite ao desenvolvedor
adicionar, editar, mover ou remover nós da árvore em qualquer ponto para criar um
aplicativo.
Exemplo
O exemplo a seguir (sample.htm) analisa um documento XML ("address.xml") em um
objeto XML DOM e, em seguida, extrai algumas informações dele com JavaScript:
<!DOCTYPE html>
<html>
<body>
<h1>Exemplo do DOM do TutorialsPoint </h1>
<div>
<b>Nome:</b> <span id="name"></span><br>
<b>Empresa:</b> <span id="empresa"></span><br>
<b>Telefone:</b> <span id="phone"></span>
</div>
<script>
Se (window.XMLHttpRequest)
{// código para IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
}
mais
{// código para IE6, IE5
xmlhttp = novo ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","/xml/address.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;
document.getElementById("name").innerHTML=
39
XML
xmlDoc.getElementsByTagName("name")[0].childNodes[0].nodeValue;
document.getElementById("company").innerHTML=
xmlDoc.getElementsByTagName("company")[0].childNodes[0].nodeValue;
document.getElementById("phone").innerHTML=
xmlDoc.getElementsByTagName("phone")[0].childNodes[0].nodeValue;
</script>
</body>
</html>
O conteúdo do address.xml é o seguinte:
<?xml version="1.0"?>
<info de contato>
<nome>Tanmay Patil</nome>
<empresa>TutorialsPoint</empresa>
<phone>(011) 123-4567</phone>
</contato-info>
Agora, vamos manter esses dois arquivos sample.htm e address.xml no mesmo diretório
/xml e executar o arquivo sample.htm abrindo-o em qualquer navegador. Isso deve
produzir o seguinte resultado.
Aqui, você pode ver como cada um dos nós filhos é extraído para exibir seus valores.
40
19. XML - Namespaces XML
<element xmlns:name="URL">
Sintaxe
• O Namespace começa com a palavra-chave xmlns.
• O nome da palavra é o prefixo do Namespace.
• O URL é o identificador do Namespace.
Exemplo
O Namespace afeta apenas uma área limitada do documento. Um elemento que contém a
declaração e todos os seus descendentes estão no escopo do Namespace. Veja a seguir um
exemplo simples de Namespace XML:
41
20. XML - Bancos de dados XML
O banco de dados XML é usado para armazenar uma grande quantidade de informações
no formato XML. Como o uso de XML está aumentando em todos os campos, é necessário ter
um local seguro para armazenar os documentos XML. Os dados armazenados no banco de
dados podem ser consultados usando XQuery, serializados e exportados para um formato
desejado.
O banco de dados XML nativo tem uma vantagem sobre o banco de dados habilitado para
XML. Ele é altamente capaz de armazenar, consultar e manter o documento XML do que
o banco de dados habilitado para XML.
Exemplo
O exemplo a seguir demonstra o banco de dados XML:
<?xml version="1.0"?>
<info de contato>
<contato1>
<nome>Tanmay Patil</nome>
<empresa>TutorialsPoint</empresa>
<phone>(011) 123-4567</phone>
</contato1>
<contato2>
<nome>Manisha Patil</nome>
<empresa>TutorialsPoint</empresa>
<phone>(011) 789-4567</phone> 42
XML
</contato2>
</contato-info>
Aqui, é criada uma tabela de contatos que contém os registros dos contatos (contact1 e
contact2), que, por sua vez, consistem em três entidades: nome, empresa e telefone.
43
XML
XML Tools
44
21. XML - Visualizadores XML
Vamos explorar vários métodos pelos quais podemos visualizar um arquivo XML. O
exemplo a seguir (sample.xml) é usado para visualizar todas as seções deste capítulo.
<?xml version="1.0"?>
<info de contato>
<nome>Tanmay Patil</nome>
<empresa>TutorialsPoint</empresa>
<phone>(011) 123-4567</phone>
</contato-info>
Texto Editores
Qualquer editor de texto simples, como Notepad, TextPad ou TextEdit, pode ser usado
para criar ou visualizar um documento XML, conforme mostrado abaixo:
45
XML
Navegador Firefox
Abra o código XML acima no Chrome clicando duas vezes no arquivo. O código XML exibe
a codificação com cores, o que torna o código legível. Ele mostra o sinal de mais (+) ou de
menos (-) no lado esquerdo do elemento XML. Quando clicamos no sinal de menos (-), o
código fica oculto. Quando clicamos no sinal de mais (+), as linhas de código são
expandidas. A saída no Firefox é a mostrada abaixo:
Navegador Chrome
Abra o código XML acima no navegador Chrome. O código é exibido conforme mostrado abaixo:
<?xml version="1.0"?>
<info de contato>
<nome>Tanmay Patil</nome>
<empresa>TutorialsPoint</empresa>
<phone>(011) 123-4567</phone>
</ontact-info>
46
XML
No código acima, as tags de início e fim não são correspondentes (consulte a tag
contact_info), portanto, uma mensagem de erro é exibida pelo navegador, conforme
mostrado abaixo:
47
22. XML - Editores XML
• Editor XML on-line: Esse é um editor XML leve, que você pode usar on-line.
48
23. XML - Analisadores XML
O analisador XML é uma biblioteca de software ou um pacote que fornece interface para
que os aplicativos clientes trabalhem com documentos XML. Ele verifica o formato correto do
documento XML e também pode validar os documentos XML. Os navegadores modernos têm
analisadores de XML incorporados.
O diagrama a seguir mostra como o analisador XML interage com o documento XML:
Para facilitar o processo de análise, estão disponíveis alguns produtos comerciais que
facilitam a decomposição do documento XML e produzem resultados mais confiáveis.
49
24. XML - Processadores XML
Tipos
Os processadores XML são classificados como tipos de validação ou não validação,
dependendo do fato de verificarem ou não a validade dos documentos XML. Um processador
que descobre um erro de validade deve ser capaz de i n f o r m á - l o , mas pode continuar
com o processamento normal.
Alguns analisadores sem validação são: OpenXML (Java), Lark (Java), xp (Java),
AElfred (Java), expat (C), XParse (JavaScript), xmllib (Python).
50