Tutorial XML para iniciantes

O que é XML?

XML significa e X tensível M arkup A linguagem. É uma linguagem (não> uma linguagem de programação) que usa a marcação e pode estender. É derivado de S tandard G eneralizado M arkup A língua (SGML). XML também usa DTDs ( D ocumento T sim D definiçõ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 principal objetivo é transportar dados, não para 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

Neste tutorial XML, você aprenderá:

História do XML

XML começou em 1996 e foi publicado pela primeira vez em 1998. NO orld NO aqui NO eb C onsortium (W3C) é o desenvolvedor de XML , e se tornou um Recomendação W3C em 1998.

Existem duas versões de XML.

  1. XML 1.0
  2. XML 1.1

XML 1.1 é a versão mais recente. Ainda, XML 1.0 é a versão mais usada.

Editores de XML são:

  • Tim Bray,
  • Jean Paoli,
  • C. M. Sperberg,
  • Eve 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 linguagem.
  • 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 exibir esses dados.
  • O código de marcação XML é fácil de entender para um ser humano.
  • O formato bem estruturado é fácil de ler e escrever a partir de 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 apoia você CS ( UCS apoia você niversal C haracter S e) T transformação F ormat.

Principalmente, existem dois tipos de codificação UTF.

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

     
  3. UTF-16

Ele usa 16 bits para representar os personagens.

Exemplo:

 

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.

 ..... 

Declaração XML

A declaração XML consiste na versão XML, codificação de caracteres ou / e status autônomo. A declaração é opcional.

Sintaxe para declaração XML

O segmento de código abaixo mostra a sintaxe para declaração XML.

 

Regras de declaração XML

A seguir estão as regras de declaração XML.

  • Se a declaração XML estiver presente, ela deve ser a primeira coisa a aparecer.
  • A declaração XML diferencia maiúsculas de minúsculas e deve começar com a letra minúscula .
  • Não possui tag de fechamento.

Exemplo de declaração XML

O segmento de código a seguir mostra um exemplo de uma declaração XML.

 

Comentários XML

Os comentários são opcionais. Adicionar comentários ajuda a entender o conteúdo do documento.

Sintaxe para comentários XML

Um comentário começa com .

O segmento de código a seguir mostra a sintaxe para comentários XML.

 

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 dia de início ) e um tag de fechamento (também conhecido como o dia final )

Os nomes das tags estão entre . Para um par de tags em particular, as tags de início e fim devem ser idênticas, exceto que a tag de fim tem / depois de < .

 ... 

Qualquer coisa entre as tags de abertura e fechamento é referido como contente .

A tag de abertura, o conteúdo e a tag de fechamento, juntas, 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.

 20 

No elemento acima,

  • era é o nome do elemento.

Nota: nome da tag também conhecido como um elemento ou nome do elemento .

  • - tag de abertura
  • 25 - contente
  • - tag de fechamento.

Se não houver conteúdo entre as tags, conforme mostrado abaixo, é referido como tags vazias .

 

Tag XML e regras de elemento

A lista a seguir mostra a tag XML e as regras do elemento.

  • As tags diferenciam maiúsculas de minúsculas.

Exemplo:

Correto:

 20 

Errado:

 20 

Nota: AGE , Era, e era são três nomes diferentes em XML.

  • Todos os documentos XML devem conter um único elemento raiz.
  • Todos os elementos devem ter uma tag de fechamento (exceto para 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 as únicas marcas de pontuação permitidas.
  • Um nome de tag não pode conter espaços.
  • Todos os elementos devem ser aninhados corretamente.

Exemplo:

Correto:

  This text is bold and italic  

Errado:

  This text is bold and italic.  

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.

 Mr. John Mr. Wood 

Existem dois atributos no empresa elemento, ou seja, nome e localização .

Vamos estudar o nome atributo,

  • nome = 'ABC Holdings' - um atributo
  • nome - Nome do Atributo
  • ABC Holdings - Valor do atributo

Observação : Um Nome do Atributo também é conhecido como um atributo .

Além disso, observe que no exemplo acima, o empresa é o raiz elemento.

Regras de atributo XML

A lista abaixo mostra as 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:

 Mr. John. Graduate 

Documento B:

 English Mr. John Graduate 

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, as entidades são uma forma de representar caracteres especiais. Entidades também são conhecidas como entidade referências .

Por que você precisa de entidades XML?

Alguns personagens (como ' , E < 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, o < e > símbolos são usados ​​para Tag . Você não pode digitar diretamente do teclado para Menor que e Maior 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 '
EE comercial amplificador E
'Apóstrofo (aspas simples) apos & apos;
<Menos que sinal lt <
>Maior que sinal gt >

Exemplo:

 My friends are Alice  &  Jane. 

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

Mesmo que XML seja como HTML, XML não é um substituto para HTML. Existem algumas diferenças significativas entre HTML e XML também.

A tabela da lista a seguir mostra uma comparação entre HTML e XML.

HTML XML
Apoia Linguagem de marcação de hipertextoExtensible Markup Language
Tipo de linguagem 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 dia Um número limitado de tags está disponível.As tags são extensíveis.
Tags de fechamento Não é necessário usar tags de fechamento (mas recomendado o uso de 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 pode ignorar o espaço em branco).
Análise em JavaScript Não é necessário nenhum aplicativo extra.Necessita de implementação de 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 ou .htm .xml
Tamanho Comparativamente grande.Comparativamente pequeno.
Citações As cotações não são necessárias para valores de atributos.Obrigatório para valores de atributos XML.
Suporte de objeto Oferece suporte a objetos nativos.Os objetos devem ser expressos por convenções.
Suporte nulo Reconhece nativamente o valor nulo.É necessário usar xsi: nil nos elementos.
Decisões de formatação Fornece mapeamento direto para dados do aplicativo.Requer um esforço mais significativo.
Curva de aprendizado Curva de aprendizado menos íngreme em comparação com XML.Curva de aprendizado íngreme.
Local na rede Internet https://html.spec.whatwg.org/ https://www.w3.org/TR/xml11/

Sintaxe HTML básica

 Document 

Sintaxe XML básica

 ..... 

Mesmo exemplo com HTML e XML

Com HTML
 Document 

Book

Name: Anna Karenina

Author: Leo Tolstoy

melhor software de edição de fotos para windows

Publisher: The Russian Messenger

Contador perguntas e respostas da entrevista de emprego

Com XML

 Anna Karenina Leo Tolstoy The Russian Messenger 

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 por 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
Apoia JavaScript Object NotationExtensible Markup Language
Estendido de JavaScriptSGML
Armazenamento de dados Dados armazenados como pares de valores-chave.Dados armazenados como uma estrutura de árvore.
Namespaces Sem suporte para namespaces.Suporta namespaces.
Comentários Adicionar comentários não é compatível.Pode adicionar comentários.
Acessibilidade de dados Facilmente acessível como objetos JSON.Os dados precisam ser analisados.
Metadados Adicionar metadados não é compatível.Pode escrever metadados.
Tipos Tipos JSON: string, número, array, booleano.Todos os dados XML devem ser strings.
Tipos de dados de suporte Apoia texto e número tipos de dados apenas.Suporta muitos tipos de dados (texto, números, imagens, etc.)
Suporte do Array Mais suporte para matrizes em comparação com XML.Nenhum ou menos suporte para matrizes.
Suporte do objeto Suporte nativo para objeto.O objeto deve ser expresso por convenções.
Suporte para kit de ferramentas AJAX Suportado.Não totalmente compatível.
Recuperando valores Fácil.Difícil.
Desserializando / serializando Totalmente automatizado.Os desenvolvedores precisam escrever código JavaScript.
Suporte de navegador Suportado pela maioria dos navegadores.A análise de XML entre navegadores pode ser complicada.
Codificação Suporta apenas codificação UTF-8.Suporta várias codificações.
Recursos 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
Segurança Menos seguro.Mais seguro do que JSON.
Fácil de ler Relativamente fácil.Relativamente difícil.
Curva de aprendizado Fácil de aprender.Curva de aprendizado íngreme.
Local na rede Internet 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

 Anna Karenina Leo Tolstoy One Hundred Years of Solitude Gabriel Garcia Marquez The Great Gatsby Scott Fitzgerald Invisible Man Ralph Ellison 

XML DTD

O que é DTD?

DTD significa D ocumento T sim D efinição. Ele define a estrutura de um documento XML usando alguns elementos legais. XML DTD é opcional.

Regras DTD

A lista a seguir mostra as regras DTD.

  • Se o DTD estiver presente, ele deve aparecer no início do documento (somente a declaração XML pode 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:

  Mark Wood Hills College 

No exemplo acima,

  • ! Estudante de DOCTYPE indica o início da declaração DTD. E a aluna é o elemento raiz do documento XML.
  • ! ELEMENT aluno indica o aluna elemento deve conter primeiro nome, ultimo nome e escola elementos
  • ! ELEMENT nome próprio indica o primeiro nome elemento é do tipo #PCDATA ( P arsed C haracter Dados )
  • ! ELEMENT sobrenome indica o último nome elemento é do tipo #PCDATA .
  • ! Escola ELEMENT indica o escola elemento é do tipo #PCDATA .

Exemplo de um DTD externo:

 Mark Wood Hills College 

O conteúdo do arquivo DTD (student.dtd) da seguinte maneira.

 

DOM XML

O que é DOM?

DOM significa D ocumento OU bjeto M odel. Ele define uma maneira padrão de acessar e manipular documentos XML. DOM tem uma estrutura de árvore (hierárquica).

Exemplo de DOM

Vamos considerar o documento XML abaixo.

 Alex Clarke 14 No. 35, Flower Road, Leeds 

A estrutura em árvore do arquivo XML acima seria semelhante à imagem a seguir.

Exemplo de XML DOM

Validação 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 DTD.

Namespaces XML

Por que namespaces?

Os namespaces ajudam a evitar conflitos de nomes de elementos.

Declaração de namespace

A seguir mostra a sintaxe para a declaração de namespace.

 

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.

 Krishna Fun and Free Education for ALL 

Editores XML

Existem vários editores de XML disponíveis. Qualquer editor de texto (como o bloco de notas e assim por diante) pode ser usado como editor de 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. Ele tem uma visualização em árvore e saída XSL no painel esquerdo e texto de nó à direita. Ele tem 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 - grátis

Ligação: http://microsoft.github.io/XmlNotepad/


2) Estúdio Stylus:

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 ver o preço mais recente), versão gratuita de teste disponível.

Ligação: http://www.stylusstudio.com/


3) Altova XMLSpy:

XMLSpy é comercializado principalmente como um editor JSON e XML. Ele possui um designer e editor de esquema integrado. Inclui integração com Visual Studio e Eclipse.

Principais estatísticas:

  • Tipo - Editor XML
  • Desenvolvedor - Altova
  • Sistema operacional compatível - Microsoft Windows.
  • Preço - pago (consulte o site abaixo para ver o preço mais recente), versão gratuita de teste disponível.

Ligação: https://www.altova.com/xmlspy-xml-editor


4) Editor de XML de oxigênio:

Oxygen XML é um editor de plataforma cruzada desenvolvido em Java. Ajuda a validar esquemas como DTD, W3C XML Schema, RELAX NG, Schematron, NRL e esquemas NVDL.

Principais estatísticas:

  • Tipo - editor XML
  • Desenvolvedor - SyncRO Soft Ltd
  • Sistema operacional compatível - Windows, Linux e Mac OS X
  • Preço - pago (consulte o site abaixo para obter o preço mais recente

Ligação: https://www.oxygenxml.com/


5) Xmplify:

Xmplify XML Editor fornece um ambiente de edição totalmente compatível com XML com DTD e XML Schema-based auto, 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

Ligação: http://xmplifyapp.com/

Analisadores XML

Um analisador XML é uma biblioteca de software que fornece uma interface para trabalhar com documentos XML. Ele 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 apoia S simples PARA PI para X ML. É um para aplicação p rogram eu interface INCÊNDIO ) 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 JULGAMENTO
Apoia API simples para XMLModelo de Objeto de Documento
Tipo de analisador Baseado em eventosBaseado em objeto
Ler e escrever XML Somente leituraLer e escrever
Inserir / atualizar / excluir nós Não é possível inserir / atualizar / excluir nósPode inserir / atualizar / excluir nós
Eficiência de memória Boa eficiência de memóriaVaria
Velocidade Mais lento que o analisador DOMMais rápido que o SAX Parser
Adequado para Arquivos pequenosArquivos grandes

Ligação de dados XML

A ligaçã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.

  • Ligaçã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 nas classes.
  • Ligação de dados baseada em mapeamento: Ele descreve como um esquema XML existente é mapeado para um conjunto de classes (e vice-versa).

Existem também estruturas de ligaçã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 DTD ou esquema XML.

Esquemas XML

XML esquema (também conhecido como Definição de esquema XML ou 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 objetivo principal de usar o 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 (XML Schema) é diferente do DTD.

DTD XSD
Apoia Definição de Tipo de DocumentoDefinição de Esquema XML
Extensibilidade Não extensívelExtensível
Controle na estrutura XML Menos controleMais controle
Tipos de dados de suporte Não suportadoSuportado
Suporte a namespace Não suportadoSuportado

O segmento de código a seguir mostra um exemplo de esquema XML.

 xs:schema xmlns:xs = 'http://www.w3.org/2001/XMLSchema'> 

Vantagens do XML

Aqui, prós / benefícios do XML:

  • Tornou mais fácil transportar e compartilhar dados.
  • XML melhora a troca de dados entre várias plataformas.
  • É uma linguagem de marcação, que é um conjunto de caracteres e / e símbolos colocados em um documento de texto.
  • XML indica como o documento XML deve ficar após ser exibido.
  • Isso simplifica o processo de mudança de plataforma.
  • Ele 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 / e símbolos colocados em um documento de texto.
  • Ele executa a 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 de HTML.

Desvantagens do XML

Aqui estão as desvantagens / desvantagens de usar XML:

  • XML requer um aplicativo de processamento.
  • A sintaxe XML é semelhante a outro formato alternativo de transmissão de dados 'baseado em texto', que às vezes é confuso.
  • Sem 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 a marcação e pode estender.
  • O objetivo principal é transportar dados, não exibir dados.
  • XML 1.1 é a versão mais recente. Ainda assim, XML 1.0 é a versão mais usada.
  • 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 do Tipo de Documento. Ele define a estrutura de um documento XML usando alguns elementos legais. XML DTD é opcional.
  • DOM significa Document Object Model. 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 DTD.
  • Os namespaces ajudam a evitar conflitos de nomes de elementos.