Tutorial XML para iniciantes
O que รฉ XML?
XML significa eXtenso MArkupe Llinguagem. ร uma linguagem (nรฃo uma linguagem de programaรงรฃo) que usa marcaรงรฃo e pode estender. ร derivado de Standard Genergizado MArkupe Llinguagem(SGML). XML tambรฉm usa DTDs (Docupaรงรฃo Tipo Ddefiniรงรตes) para definir a estrutura do documento XML.
XML nรฃo serve para lidar com operaรงรตes e algoritmos computacionais. Portanto, XML nรฃo รฉ uma linguagem de programaรงรฃo. O objetivo principal รฉ transportar dados e nรฃo exibir informaรงรตes. XML preenche a lacuna entre a legibilidade humana e a legibilidade por mรกquina. Ao contrรกrio das tags HTML, as tags XML sรฃo autodescritivas.
XML รฉ um formato aberto. A extensรฃo do nome do arquivo XML รฉ .xml
Histรณria do XML
XML comeรงou em 1996 e foi publicado pela primeira vez em 1998. World Wide Web Consortium (W3C) รฉ o desenvolvedor de XML, e tornou-se um Recomendaรงรฃo W3C em 1998.
Existem duas versรตes de XML.
- XML1.0
- XML1.1
XML1.1 รฉ a versรฃo mais recente. Ainda, XML1.0 รฉ a versรฃo mais utilizada.
Editores de XML sรฃo:
- Tim Bray,
- Joรฃo Paulo,
- CM Sperberg,
- Eva Maler,
- Franรงois Yergeau.
Recursos XML
Aqui estรฃo alguns recursos importantes do XML:
- ร extensรญvel e legรญvel por humanos.
- ร independente de plataforma e idioma.
- Ele preserva o espaรงo em branco.
- Simplicidade geral.
- Natureza autodescritiva.
- Ele separa os dados do HTML.
- As tags XML nรฃo sรฃo predefinidas. Vocรช precisa definir suas tags personalizadas.
- XML foi projetado para transportar dados, nรฃo para exibi-los.
- O cรณdigo de marcaรงรฃo XML รฉ fรกcil de entender para um ser humano.
- Um formato bem estruturado รฉ fรกcil de ler e escrever em programas.
- XML รฉ uma linguagem de marcaรงรฃo extensรญvel como HTML.
Codificaรงรฃo XML
Codificaรงรฃo รฉ a conversรฃo de caracteres Unicode em sua representaรงรฃo binรกria. UTF รฉ usado para codificaรงรฃo XML. UTF รฉ um anagrama para UCS (UCS รฉ um anagrama para Universal CHaracter Se) Transformaรงรฃo Fformato.
Principalmente, existem dois tipos de codificaรงรฃo UTF.
- UTF-8: UTF-8 usa 8 bits para representar os caracteres.
- UTF-16
Exemplo:
<?xml version="1.0" encoding="UTF-8"?>
Ele usa 16 bits para representar os caracteres.
Exemplo:
<?xml version="1.0" encoding="UTF-16"?>
Vocรช pode usar codificaรงรฃo dentro da declaraรงรฃo XML. UTF-8 รฉ a codificaรงรฃo padrรฃo em XML.
Sintaxe XML
O segmento de cรณdigo abaixo mostra a sintaxe XML bรกsica.
<?xml version = "1.0" encoding = "UTF-8" ?>
<root>
<child>
<subchild>.....</subchild>
</child>
</root>
Declaraรงรฃo XML
A declaraรงรฃo XML consiste na versรฃo XML, codificaรงรฃo de caracteres e/ou status independente. A declaraรงรฃo รฉ opcional.
Sintaxe para declaraรงรฃo XML
O segmento de cรณdigo abaixo mostra a sintaxe da declaraรงรฃo XML.
<?xml version="version_number," encoding="character_encoding" standalone="yes_or_no" ?>
Regras de declaraรงรฃo XML
A seguir estรฃo as regras de declaraรงรฃo XML.
- Se a declaraรงรฃo XML estiver presente, deverรก ser a primeira coisa que aparecerรก.
- A declaraรงรฃo XML diferencia maiรบsculas de minรบsculas e deve comeรงar com letras minรบsculas <?xml.
- Nรฃo possui tag de fechamento.
Exemplo de declaraรงรฃo XML
O segmento de cรณdigo a seguir mostra um exemplo de declaraรงรฃo XML.
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
Comentรกrios XML
Os comentรกrios sรฃo opcionais. Adicionar comentรกrios ajuda a compreender o conteรบdo do documento.
Sintaxe para comentรกrios XML
Um comentรกrio comeรงa com <!โ e termina com ->.
O segmento de cรณdigo a seguir mostra a sintaxe dos comentรกrios XML.
<!-- Add your comment here -->
Tags e elementos XML
As tags funcionam como pares, exceto para declaraรงรตes. Cada par de tags consiste em um tag de abertura (Tambรฉm conhecido como o marca de inรญcio) E um tag de fechamento (Tambรฉm conhecido como o etiqueta final).
Os nomes das tags estรฃo entre <>. Para um par de tags especรญfico, as tags inicial e final devem ser idรชnticas, exceto que a tag final tem / depois de <.
<name>...</name>
Qualquer coisa entre as tags de abertura e fechamento รฉ chamada de o conteรบdo.
A tag de abertura, o conteรบdo e a tag de fechamento, em conjunto, sรฃo chamadas de elemento.
Opening tag + content + closing tag = an element
Nota: Os elementos tambรฉm podem conter atributos. Vocรช aprenderรก os atributos muito em breve.
Vamos considerar o elemento abaixo.
<age>20</age>
No elemento acima,
- idade รฉ o nome do elemento.
Nota: Nome da etiqueta tambรฉm conhecido como um elemento or nome do elemento.
- โ etiqueta de abertura
- 25 - conteรบdo
- โ etiqueta de fechamento.
Se nรฃo houver conteรบdo entre as tags, conforme mostrado abaixo, รฉ denominado etiquetas vazias.
<result></result>
Regras de tags e elementos XML
A lista a seguir mostra tags XML e regras de elementos.
- As tags diferenciam maiรบsculas de minรบsculas.
Exemplo:
Corrigir:
<age>20</age>
Errado:
<age>20</Age>
Nota: IDADE, Era, e idade existem trรชs nomes diferentes em XML.
- Todos os documentos XML devem conter um รบnico elemento raiz.
- Todos os elementos devem possuir tag de fechamento (exceto declaraรงรตes).
- O nome de uma tag deve comeรงar com uma letra ou sublinhado e nรฃo pode comeรงar com o XML.
- Um nome de tag pode conter letras, dรญgitos, hifens, sublinhados e pontos. Hรญfens sublinhados e pontos sรฃo os รบnicos sinais de pontuaรงรฃo permitidos.
- Um nome de tag nรฃo pode conter espaรงos.
- Todos os elementos devem ser aninhados corretamente.
Exemplo:
Corrigir:
<b><u>This text is bold and italic</u></b>
Errado:
<b><u>This text is bold and italic.</b></u>
Atributos XML
O atributo de um elemento รฉ colocado apรณs o nome da tag na tag inicial. Vocรช pode adicionar mais de um atributo para um รบnico elemento com nomes de atributos diferentes.
Vamos considerar o documento XML abaixo.
<company name="ABC Holdings" location="London">
<chairman>Mr. John</chairman>
<gm>Mr. Wood</gm>
</company>
Existem dois atributos no Empresa elemento, ou seja nome e local.
Vamos estudar o nome atributo,
- nome=โABC Participaรงรตesโ โ um atributo
- nome - Nome do Atributo
- Participaรงรตes ABC - Valor do atributo
Observaรงรฃo: A Nome do Atributo tambรฉm รฉ conhecido como um atributo.
Alรฉm disso, observe que no exemplo acima, o Empresa รฉ o raiz elemento.
Regras de atributos XML
A lista abaixo mostra regras de atributos XML.
- Os valores dos atributos devem estar entre aspas.
- Um elemento nรฃo pode conter vรกrios atributos com o mesmo nome.
Atributo versus Elemento
Vocรช ainda estรก confuso sobre a diferenรงa entre um atributo e um elemento? Aqui estรก outro exemplo.
Vamos considerar os documentos A e B fornecidos abaixo.
Documento A:
<teacher subject="English">
<name>Mr. John</name>.
<qualification>Graduate</qualification>
</teacher>
Documento B:
<teacher>
<subject>English</subject>
<name>Mr. John</name>
<qualification>Graduate</qualification>
</teacher>
No documento A, o sujeito รฉ um atributo.
No documento B, o sujeito รฉ um elemento.
Entidades XML
O que sรฃo entidades XML?
Em termos simples, entidades sรฃo uma forma de representar caracteres especiais. As entidades tambรฉm sรฃo conhecidas como entidade referรชncias.
Por que vocรช precisa de entidades XML?
Alguns personagens (como ", & <e assim por diante) sรฃo reservados em XML. Eles sรฃo referidos como caracteres especiais e nรฃo pode ser usado diretamente para outros fins.
Por exemplo, a < e > sรญmbolos usados โโpara Tag. Vocรช nรฃo pode digitar diretamente no teclado por menos que e Melhor que sinais. Em vez disso, vocรช precisa usar entidades.
A tabela a seguir mostra algumas das entidades XML populares.
| Personagem | Descriรงรฃo | Nome da entidade | Uso |
|---|---|---|---|
| " | Aspas (aspas duplas) | quot | " |
| & | Ampersand | amp | & |
| ' | Apรณstrofo (aspas simples) | apรณs | ' |
| < | Less do que assinar | lt | < |
| > | Sinal maior que | gt | > |
Exemplo:
<friend>
<name>My friends are Alice & Jane.</name>
</friend>
HTML versus XML
Semelhanรงas entre HTML e XML
A lista a seguir mostra as semelhanรงas entre HTML e XML.
- Ambos sรฃo formatos abertos.
- Ambas sรฃo linguagens de marcaรงรฃo.
- Ambos usam tags e atributos para descrever o conteรบdo.
Diferenรงas entre HTML e XML
Embora o XML seja como o HTML, o XML nรฃo substitui o HTML. Existem algumas diferenรงas significativas entre HTML e XML tambรฉm.
A tabela de lista a seguir mostra uma comparaรงรฃo entre HTML e XML.
| HTML | XML | |
|---|---|---|
| Suportes para | Linguagem de marcaรงรฃo de hipertexto | Extensible Markup Language |
| Tipo de idioma | Uma linguagem de marcaรงรฃo predefinida. | Uma estrutura para especificar linguagens de marcaรงรฃo. |
| Detalhes estruturais | Nรฃo fornecido. | Forneceu. |
| Propรณsito | Usado para exibir dados. | Usado para transportar dados |
| Conduzido por | Orientado por formato. | Orientado por conteรบdo. |
| Natureza | Tem uma natureza estรกtica. | Tem uma natureza dinรขmica. |
| Tipo de tag | Tags predefinidas. | Tags definidas pelo usuรกrio. |
| Limite de tags | Um nรบmero limitado de tags estรก disponรญvel. | As tags sรฃo extensรญveis. |
| Fechando tags | Nรฃo รฉ necessรกrio usar tags de fechamento (mas รฉ recomendado usar tags de fechamento). | As tags de fechamento sรฃo obrigatรณrias. |
| Suporte a namespace | Nรฃo suportado. | Suportado |
| Sensibilidade a maiรบsculas e minรบsculas | As tags nรฃo diferenciam maiรบsculas de minรบsculas. | As tags diferenciam maiรบsculas de minรบsculas. |
| Espaรงo em branco | O espaรงo em branco nรฃo pode ser preservado (pode ignorar o espaรงo em branco). | Espaรงo em branco preservado (nรฃo รฉ possรญvel ignorar o espaรงo em branco). |
| Analisando em JavaScript | Nรฃo รฉ necessรกria nenhuma aplicaรงรฃo extra. | Precisa de implementaรงรฃo do DOM. |
| Aninhamento de cรณdigo | Nรฃo necessariamente necessรกrio. | Precisava. |
| erros | Pode ignorar pequenos erros. | Erros nรฃo sรฃo permitidos. |
| Extensรฃo de nome de arquivo | .html or Htm. | .xml |
| Dimensรตes: | Comparativamente grande. | Comparativamente pequeno. |
| Cotaรงรตes | As aspas nรฃo sรฃo obrigatรณrias para valores de atributos. | Obrigatรณrio para valores de atributos XML. |
| Suporte a objetos | Oferece suporte a objetos nativos. | Os objetos devem ser expressos por convenรงรตes. |
| Suporte nulo | Reconhece nativamente o valor nulo. | Precisa usar xsi:nil nos elementos. |
| Formatando decisรตes | Fornece mapeamento direto para dados de aplicativos. | Requer um esforรงo mais significativo. |
| Curva de aprendizado | Less curva de aprendizado acentuada em comparaรงรฃo com XML. | Curva de aprendizado รญngreme. |
| Website | https://html.spec.whatwg.org/ | https://www.w3.org/TR/xml11/ |
Sintaxe HTML bรกsica
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
</body>
</html>
Sintaxe XML Bรกsica
<?xml version = "1.0" encoding = "UTF-8" ?>
<root>
<child>
<subchild>.....</subchild>
</child>
</root>
Mesmo exemplo com HTML e XML
Com HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<p>Book</p>
<p>Name: Anna Karenina</p>
<p>Author: Leo Tolstoy</p>
<p>Publisher: The Russian Messenger</p>
</body>
</html>
Com XML
<?xml version = "1.0" encoding = "UTF-8" ?>
<book>
<name>Anna Karenina</name>
<author>Leo Tolstoy</author>
<publisher>The Russian Messenger</publisher>
</book>
JSON versus XML
Semelhanรงas entre JSON e XML
A lista abaixo mostra as semelhanรงas entre JSON e XML.
- Ambos sรฃo formatos abertos.
- Ambos sรฃo autodescritivos.
- Ambos possuem uma estrutura hierรกrquica.
- Ambos podem analisar e usar vรกrias linguagens de programaรงรฃo.
Diferenรงas entre JSON e XML
Existem vรกrias diferenรงas entre XML e JSON tambรฉm.
As tabelas abaixo mostram uma comparaรงรฃo entre JSON e XML.
| JSON | XML | |
|---|---|---|
| Suportes para | JavaNotaรงรฃo de objeto de script | Extensible Markup Language |
| Estendido de | JavaScript | SGML |
| Armazenamento de dados | Dados armazenados como pares de valores-chave. | Dados armazenados como uma estrutura de รกrvore. |
| Namespaces | Nรฃo hรก suporte para namespaces. | Suporta namespaces. |
| Comentรกrios | Adicionar comentรกrios nรฃo รฉ suportado. | Pode adicionar comentรกrios. |
| Acessibilidade de dados | Facilmente acessรญvel como objetos JSON. | Os dados precisam ser analisados. |
| metadados | A adiรงรฃo de metadados nรฃo รฉ suportada. | Pode escrever metadados. |
| Tipos | Tipos JSON: string, nรบmero, array, booleano. | Todos os dados XML devem ser cordas. |
| Tipos de dados de suporte | suportes texto e nรบmero apenas tipos de dados. | Suporta muitos tipos de dados (texto, nรบmeros, imagens, etc.) |
| Suporte de array | Mais suporte para arrays em comparaรงรฃo com XML. | Nenhum ou menos suporte para arrays. |
| Suporte do objeto | Suporte nativo para objeto. | O objeto deve ser expresso por convenรงรตes. |
| Suporte ao kit de ferramentas AJAX | Suportado | Nรฃo รฉ totalmente compatรญvel. |
| Recuperando valores | Fรกcil. | Difรญcil. |
| Desserializando/serializando | Totalmente automatizado. | Os desenvolvedores precisam escrever JavaCรณdigo de script. |
| Suporte ao navegador | Suportado pela maioria dos navegadores. | A anรกlise XML entre navegadores pode ser complicada. |
| Codificaรงรฃo | Suporta apenas codificaรงรฃo UTF-8. | Ele suporta vรกrias codificaรงรตes. |
| Capacidades de exibiรงรฃo | Sem recursos de exibiรงรฃo. | Oferece recursos de exibiรงรฃo. |
| Tamanho do documento | Menor que XML. | Grande que JSON. |
| Extensรฃo de nome de arquivo | json | .xml |
| Total | Less protegido. | Mais seguro que JSON. |
| Fรกcil de ler | Relativamente fรกcil. | Relativamente difรญcil. |
| Curva de aprendizado | Fรกcil de aprender. | Curva de aprendizado รญngreme. |
| Website | https://www.json.org/json-en.html | https://www.w3.org/TR/xml11/ |
Sintaxe JSON bรกsica
{string:value, .......}
Mesmo exemplo com JSON e XML
Com JSON
{"books":[
{"name":"Anna Karenina", "author":"Leo Tolstoy"},
{"name":"One Hundred Years of Solitude", "author":"Gabriel Garcia Marquez"},
{"name":"The Great Gatsby", "author":"Scott Fitzgerald"},
{"name":"Invisible Man", "author":"Ralph Ellison"}
]}
Com XML
<?xml version = "1.0" encoding = "UTF-8" ?>
<books>
<book>
<name>Anna Karenina</name>
<author>Leo Tolstoy</author>
</book>
<book>
<name>One Hundred Years of Solitude</name>
<author>Gabriel Garcia Marquez</author>
</book>
<book>
<name>The Great Gatsby</name>
<author>Scott Fitzgerald</author>
</book>
<book>
<name>Invisible Man</name>
<author>Ralph Ellison</author>
</book>
</books>
DTD XML
O que รฉ DTD?
DTD significa Docupaรงรฃo Tipo Ddefiniรงรฃo. Define a estrutura de um documento XML usando alguns elementos legais. XML DTD รฉ opcional.
Regras DTD
A lista a seguir mostra as regras do DTD.
- Se o DTD estiver presente, ele deverรก aparecer no inรญcio do documento (somente a declaraรงรฃo XML poderรก aparecer acima do DTD).
- A declaraรงรฃo do elemento deve comeรงar com um ! marca.
- O nome DTD e o tipo de elemento do elemento raiz devem ser iguais.
Exemplos de DTD
Exemplo de um DTD interno:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE student [
<!ELEMENT student (firstname,lastname,school)>
<!ELEMENT firstname (#PCDATA)>
<!ELEMENT lastname (#PCDATA)>
<!ELEMENT school (#PCDATA)>
]>
<student>
<firstname>Mark</firstname>
<lastname>Wood</lastname>
<school>Hills College</school>
</student>
No exemplo acima,
- !DOCTYPE estudante indica o inรญcio da declaraรงรฃo DTD. E a estudante รฉ o elemento raiz do documento XML.
- !ELEMENT estudante indica o estudante elemento deve conter primeiro nome, ultimo nome e escola elementos.
- !ELEMENT nome indica o firstname elemento รฉ do tipo #PCDATA (Pidiota CHaracter Dados).
- !ELEMENT sobrenome indica o sobrenome elemento รฉ do tipo #PCDATA.
- !ELEMENT escola indica o escola elemento รฉ do tipo #PCDATA.
Exemplo de um DTD externo:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE student SYSTEM "student.dtd">
<student>
<firstname>Mark</firstname>
<lastname>Wood</lastname>
<school>Hills College</school>
</student>
O conteรบdo do arquivo DTD (student.dtd) รฉ o seguinte.
<!ELEMENT student (firstname,lastname,school)> <!ELEMENT firstname (#PCDATA)> <!ELEMENT lastname (#PCDATA)> <!ELEMENT school (#PCDATA)>
DOM XML
O que รฉ DOM?
DOM significa Docupaรงรฃo Objeto Mmodelo. Ele define uma maneira padrรฃo de acessar e manipular documentos XML. DOM possui uma estrutura de รกrvore (hierรกrquica).
Exemplo de DOM
Vamos considerar o documento XML abaixo.
<?xml version="1.0" encoding="UTF-8" ?>
<school>
<student>
<name>
<first_name>Alex</first_name>
<last_name>Clarke</last_name>
</name>
<age>14</age>
<address>No. 35, Flower Road, Leeds</address>
</student>
</school>
A estrutura em รกrvore do arquivo XML acima seria semelhante ร imagem a seguir.

Validaรงรฃo de XML
O que sรฃo documentos XML bem formados?
Bem formado Documentos XML sรฃo documentos XML com sintaxe correta.
O que sรฃo documentos XML vรกlidos?
Vรกlido Os documentos XML sรฃo bem formados e tambรฉm estรฃo em conformidade com as regras do DTD.
Namespaces XML
Por que espaรงos para nome?
Namespaces ajudam a evitar conflitos de nomes de elementos.
Declaraรงรฃo de namespace
A seguir mostra a sintaxe da declaraรงรฃo de namespace.
<element xmlns:name="URL">
Na declaraรงรฃo acima,
- O processo de xmlns palavra-chave indica o inรญcio do namespace.
- O processo de nome รฉ o prefixo do namespace.
- O processo de URL รฉ o identificador do namespace.
Exemplos de namespaces
O segmento de cรณdigo a seguir mostra um exemplo de namespaces.
<?xml version="1.0" encoding="UTF-8" ?>
<abt:about xmlns:abt="https://www.guru99.com/about-us.html">
<abt:founder>Krishna</abt:founder>
<abt:vision>Fun and Free Education for ALL</abt:vision>
</abt:about>
Editores XML
Existem vรกrios editores XML disponรญveis. Qualquer editor de texto (como bloco de notas e assim por diante) pode ser usado como editor XML.
A lista a seguir mostra alguns dos editores XML populares em 2021.
1) Bloco de notas XML
XML Notepad รฉ um editor de cรณdigo aberto para XML. Possui uma visualizaรงรฃo em รกrvore e saรญda XSL no painel esquerdo e texto do nรณ ร direita. Possui uma janela de depuraรงรฃo de erros na parte inferior.
Principais estatรญsticas:
- Tipo โ editor XML
- Desenvolvedor - Microsoft
- Sistema operacional compatรญvel โ Microsoft Windows.
- Preรงo โ Gratuito
link: http://microsoft.github.io/XmlNotepad/
2) Estรบdio de caneta
Stylus Studio รฉ um IDE escrito em C++ para Extensible Markup Language (XML). Ele permite que um usuรกrio edite e transforme documentos XML, dados como intercรขmbio eletrรดnico de dados (EDI), CSV e dados relacionais.
Principais estatรญsticas:
- Tipo โ Ambiente de desenvolvimento integrado (IDE) para XML
- Desenvolvedor โ Progress Software Corporation
- Sistema operacional compatรญvel โ Microsoft Windows.
- Preรงo โ Pago (consulte o site abaixo para obter o preรงo mais recente), teste gratuito disponรญvel.
link: http://www.stylusstudio.com/
3) Altova XMLSpy
XMLSpy รฉ comercializado principalmente como um editor JSON e XML. Possui um designer e editor de esquema integrado. Inclui Visual Studio e Eclipse integraรงรฃo.
Principais estatรญsticas:
- Tipo โ Editor XML
- Desenvolvedor - Altova
- Sistema operacional compatรญvel โ Microsoft Windows.
- Preรงo โ Pago (consulte o site abaixo para obter o preรงo mais recente), teste gratuito disponรญvel.
link:https://www.altova.com/xmlspy-xml-editor
4) Editor XML de oxigรชnio
Oxygen XML รฉ um editor multiplataforma desenvolvido em Java. Ajuda a validar esquemas como DTD, W3C XML Schema, RELAX NG, Schematron, NRL e NVDL.
Principais estatรญsticas:
- Tipo โ editor XML
- Desenvolvedor - SyncRO Soft Ltda
- Sistema operacional compatรญvel โ Windows, Linux e Mac OS X
- Preรงo - Pago (consulte o site abaixo para obter o preรงo mais recente
link:https://www.oxygenxml.com/
5) Xmplificar
O Xmplify XML Editor fornece um ambiente de ediรงรฃo totalmente compatรญvel com XML com DTD e XML Schema automรกtico, validaรงรฃo automรกtica de documentos, etc.
Principais estatรญsticas:
- Tipo โ Editor XML
- Desenvolvedor โ MOSO Corporation
- Sistema operacional compatรญvel โ Mac OS.
- Preรงo - Pago (consulte o site abaixo para obter o preรงo mais recente
link: http://xmplifyapp.com/
Analisadores de XML
Um analisador XML รฉ uma biblioteca de software que fornece uma interface para trabalhar com documentos XML. Verifica se o formato do documento XML estรก correto. Alguns analisadores tambรฉm podem validar os documentos XML. Os navegadores modernos vรชm com analisadores XML.
SAXOFONE
SAXOFONE รฉ um anagrama para Simple API para Xml. ร um aPplicaรงรฃo programa iinterface (API) para analisar documentos XML. Eles se comportam de forma semelhante aos manipuladores de eventos em Java.
Ao contrรกrio do DOM, o SAX รฉ um exemplo de analisador XML baseado em eventos.
Aqui estรฃo algumas diferenรงas importantes entre o SAX e o DOM.
| SAXOFONE | DOM | |
|---|---|---|
| Suportes para | API simples para XML | Modelo de Objeto de Documento |
| Tipo de analisador | Baseado em eventos | baseado em objeto |
| Ler e escrever XML | Somente leitura | Tanto lรช como escreve |
| Inserir/atualizar/excluir nรณs | Nรฃo รฉ possรญvel inserir/atualizar/excluir nรณs | Pode inserir/atualizar/excluir nรณs |
| Eficiรชncia de memรณria | Boa eficiรชncia de memรณria | Varia |
| Agilidade (Speed) | Mais lento que o analisador DOM | Mais rรกpido que o analisador SAX |
| Adequado para | Arquivos de tamanho pequeno | Arquivos de tamanho grande |
Ligaรงรฃo de Dados XML
A vinculaรงรฃo de dados XML รฉ a representaรงรฃo de dados em um documento XML como um objeto de negรณcios na memรณria de um computador.
Existem trรชs abordagens para vinculaรงรฃo de dados XML.
- Vinculaรงรฃo de dados baseada em esquema XML: As classes XML correspondentes sรฃo criadas com base no esquema.
- Vinculaรงรฃo de dados baseada em classe: Um esquema XML correspondente รฉ criado com base em classes.
- Vinculaรงรฃo de dados baseada em mapeamento: Descreve como um esquema XML existente รฉ mapeado para um conjunto de classes (e vice-versa).
Existem tambรฉm estruturas de vinculaรงรฃo de dados XML.
Exemplos:
A vinculaรงรฃo de dados XML รฉ fรกcil com estruturas. A estrutura de vinculaรงรฃo de dados gera uma grande quantidade de cรณdigo para vocรช. Vocรช precisa alimentar um esquema DTD ou XML.
Esquemas XML
XML esquema (tambรฉm conhecido como Definiรงรฃo de esquema XML or XSD) use para descrever a estrutura do documento XML. ร uma alternativa ao DTD.
Por que o esquema รฉ importante?
O DTD nรฃo รฉ poderoso como esquema, pois nรฃo รฉ extensรญvel e flexรญvel o suficiente. Portanto, pode nรฃo ser adequado para algumas situaรงรตes. Em tal situaรงรฃo, o esquema รฉ importante. O principal objetivo do uso do esquema XML รฉ definir os elementos e atributos de um documento XML.
Como o esquema XML รฉ diferente do DTD?
A comparaรงรฃo a seguir mostra como o XSD (esquema XML) รฉ diferente do DTD.
| DTD | XSD | |
|---|---|---|
| Suportes para | Definiรงรฃo do tipo de documento | Definiรงรฃo de Esquema XML |
| Extensibilidade | Nรฃo extensรญvel | extensรญvel |
| Controle na estrutura XML | Less ao controle | Mais controle |
| Tipos de dados de suporte | Nรฃo suportado | Suportado |
| Suporte a namespace | Nรฃo suportado | Suportado |
O segmento de cรณdigo a seguir mostra um exemplo de esquema XML.
xs:schema xmlns:xs = "http://www.w3.org/2001/XMLSchema">
<xs:element name = "employee">
<xs:complexType>
<xs:sequence>
<xs:element name = "firstname" type = "xs:string" />
<xs:element name = "lastname" type = "xs:string" />
<xs:element name = "phone" type = "xs:int" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Vantagens do XML
Aqui, prรณs/benefรญcios do XML:
- Facilitou o transporte e o compartilhamento de dados.
- XML melhora a troca de dados entre vรกrias plataformas.
- ร uma linguagem de marcaรงรฃo, que รฉ um conjunto de caracteres e/ou sรญmbolos colocados em um documento de texto.
- XML indica como o documento XML deve ficar apรณs ser exibido.
- Ele simplifica o processo de mudanรงa de plataforma.
- Aumenta a disponibilidade de dados.
- Suporta documentos multilรญngues e Unicode.
- Fornece relativamente fรกcil de aprender e codificar.
- ร uma linguagem de marcaรงรฃo, que รฉ um conjunto de caracteres e/ou sรญmbolos colocados em um documento de texto.
- Realiza validaรงรฃo usando DTD e Schema.
- Torna os documentos transportรกveis โโentre sistemas e aplicativos. Com a ajuda do XML, vocรช pode trocar dados rapidamente entre diferentes plataformas.
- XML separa os dados do HTML.
Desvantagens do XML
Aqui estรฃo os contras/desvantagens de usar XML:
- XML requer um aplicativo de processamento.
- A sintaxe XML รฉ semelhante a outros formatos alternativos de transmissรฃo de dados 'baseados em texto', o que ร s vezes รฉ confuso.
- Nenhum suporte de tipo de dados intrรญnseco
- A sintaxe XML รฉ redundante.
- Nรฃo permite que o usuรกrio crie suas tags.
Resumo
- XML significa eXtensible Markup Language. XML รฉ uma linguagem (nรฃo uma linguagem de programaรงรฃo) que usa marcaรงรฃo e pode ser estendida.
- O objetivo principal รฉ transportar dados, nรฃo exibi-los.
- XML 1.1 รฉ a versรฃo mais recente. Ainda assim, XML 1.0 รฉ a versรฃo mais utilizada.
- As tags funcionam como pares, exceto para declaraรงรตes.
- Tag de abertura + conteรบdo + tag de fechamento = um elemento
- Entidades sรฃo uma forma de representar caracteres especiais.
- DTD significa Definiรงรฃo de tipo de documento. Define a estrutura de um documento XML usando alguns elementos legais. XML DTD รฉ opcional.
- DOM significa Modelo de Objeto de Documento. Ele define uma maneira padrรฃo de acessar e manipular documentos XML.
- Documentos XML bem formados sรฃo documentos XML com sintaxe correta.
- Os documentos XML vรกlidos sรฃo bem formados e tambรฉm estรฃo em conformidade com as regras do DTD.
- Namespaces ajudam a evitar conflitos de nomes de elementos.
