Tutorial XML para iniciantes

โšก Resumo Inteligente

XML, a Linguagem de Marcaรงรฃo Extensรญvel, estrutura, armazena e transporta dados entre sistemas usando tags autodescritivas definidas pelo prรณprio usuรกrio. Este tutorial explica a sintaxe XML, declaraรงรตes, tags, atributos, entidades, DTD, DOM, esquemas e namespaces, alรฉm de comparar XML com HTML e JSON.

  • ๐Ÿ“„ O que รฉ XML: XML รฉ uma linguagem de marcaรงรฃo para transportar dados, nรฃo para exibi-los, usando tags personalizadas que descrevem o conteรบdo.
  • ๐Ÿงฑ Etiquetas e elementos: Um elemento รฉ composto por uma tag de abertura, conteรบdo e uma tag de fechamento; as tags diferenciam maiรบsculas de minรบsculas e devem ser aninhadas e fechadas corretamente.
  • ๐Ÿท๏ธ Atributos e Entidades: Os atributos adicionam detalhes dentro de uma tag de abertura, e entidades como < representam caracteres reservados de forma segura.
  • ๐Ÿ“ DTD e Esquema: Um esquema DTD ou XSD define a estrutura permitida, sendo que o XSD adiciona tipos de dados e suporte a namespaces que o DTD nรฃo possui.
  • ???? DOM e analisadores sintรกticos: O DOM visualiza um documento como uma รกrvore, enquanto analisadores como o DOM e o SAX baseado em eventos leem e validam XML.
  • ๐Ÿ†š XML vs HTML vs JSON: O XML transporta dados com tags rรญgidas e extensรญveis, ao contrรกrio do HTML, focado na exibiรงรฃo, e do JSON, mais leve e compatรญvel com arrays.
  • ๐Ÿค– Assistรชncia de IA: As ferramentas de IA podem gerar ou validar um esquema XSD e converter XML para JSON ou outros formatos rapidamente.

Tutorial de XML

O que รฉ XML?

XML significa eXtenso MArkupe LLinguagem. ร‰ uma linguagem (nรฃo uma linguagem de programaรงรฃo) que usa marcaรงรฃo e pode ser estendida. Ela deriva 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.

  1. XML1.0
  2. 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.

  1. UTF-8: UTF-8 usa 8 bits para representar os caracteres.
  2. Exemplo:

    <?xml version="1.0" encoding="UTF-8"?>
    
  3. UTF-16

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

Observaรงรฃo: 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
  • 20 - 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 > Os sรญmbolos sรฃo usados โ€‹โ€‹para TagVocรช nรฃo pode digitar diretamente o menos que e Melhor que Os sinais do teclado representam o conteรบdo. 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 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.
Code nidificaรงรฃo 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 mapa diretoping para dados de aplicaรงรฃo. 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 ser analisados โ€‹โ€‹e utilizados por diversas linguagens de programaรงรฃo.

Diferenรงas entre JSON e XML

Existem vรกrias diferenรงas entre XML e JSON tambรฉm.

A tabela abaixo mostra 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 precisa ser expresso por meio de 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. Maior 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.

DOM XML
Exemplo XML DOM

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 xmlns palavra-chave indica o inรญcio do namespace.
  • O nome รฉ o prefixo do namespace.
  • O 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 diversos editores de XML disponรญveis. Qualquer editor de texto (como o Bloco de Notas, por exemplo) pode ser usado como um editor de XML.

A lista a seguir mostra alguns dos editores XML mais populares.

1) Bloco de notas XML

O XML Notepad รฉ um editor de cรณdigo aberto para XML. Ele possui uma visualizaรงรฃo em รกrvore e a saรญda XSL no painel esquerdo, e o texto dos nรณs no painel direito. Na parte inferior, hรก uma janela de depuraรงรฃo de erros.

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 Linguagem de Marcaรงรฃo Extensรญvel (XML). Permite ao usuรกrio editar e transformar documentos e dados XML, 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), perรญodo de teste gratuito disponรญvel.

link: http://www.stylusstudio.com/


3) Altova XMLSpy

O XMLSpy รฉ comercializado principalmente como um editor de JSON e XML. Possui um editor e designer de esquemas integrado. Inclui o 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), perรญodo de 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 oferece um ambiente de ediรงรฃo totalmente compatรญvel com XML, com preenchimento automรกtico baseado em DTD e XML Schema, validaรงรฃo automรกtica de documentos e muito mais.

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. Seu comportamento รฉ semelhante ao dos 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 SAX e 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.
  • Mapapingvinculaรงรฃo de dados baseada em: 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) รฉ usado para descrever a estrutura de um documento XML. ร‰ uma alternativa ao DTD.

Por que o esquema รฉ importante?

A DTD nรฃo รฉ tรฃo poderosa quanto o schema, pois nรฃo รฉ suficientemente extensรญvel e flexรญvel. Portanto, pode nรฃo ser adequada para algumas situaรงรตes. Nesses casos, o schema torna-se importante. O principal objetivo de usar o schema XML รฉ definir os elementos e atributos de um documento XML.

Qual a diferenรงa entre um esquema XML e um 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 um 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 estรฃo as vantagens/benefรญcios do XML:

  • Isso facilita 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.
  • ร‰ relativamente fรกcil de aprender e programar.
  • Realiza validaรงรฃo usando DTD e Schema.
  • Isso permite que documentos sejam transportados 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 as desvantagens/contras do uso de 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 causa confusรฃo.
  • Sem suporte para tipos de dados intrรญnsecos.
  • A sintaxe XML รฉ redundante.
  • Nรฃo permite que o usuรกrio crie suas prรณprias tags.

Perguntas Frequentes

Sim. Embora o JSON domine as APIs da web, o XML continua sendo amplamente utilizado em arquivos de configuraรงรฃo, formatos de documentos como DOCX e SVG, serviรงos web SOAP, feeds RSS e troca de dados corporativos onde esquemas e validaรงรฃo sรฃo importantes.

XSLT (Extensible Stylesheet Language Transformations) transforma um documento XML em outro formato, como HTML, texto simples ou um XML com estrutura diferente. Ele usa regras de modelo para selecionar e remodelar nรณs para exibiรงรฃo ou troca.

Sim. A maioria dos navegadores renderiza um arquivo XML como uma รกrvore expansรญvel, mostrando seus elementos e estrutura. Vocรช tambรฉm pode abri-lo em qualquer editor de texto ou em um editor XML dedicado para ediรงรฃo e validaรงรฃo.

Sim. Forneรงa ร  IA um documento XML de exemplo e ela poderรก gerar um XSD que descreve os elementos, atributos e tipos de dados, ou verificar um esquema existente e explicar por que um documento falha na validaรงรฃo. RevVeja as restriรงรตes.

Sim. A IA pode gerar cรณdigo ou converter diretamente XML para JSON, CSV ou uma estrutura de dados, e sinalizar partes que nรฃo se encaixam perfeitamente, como atributos ou elementos repetidos. Verifique o resultado comparando-o com seus dados.

Resuma esta postagem com: