XML para iniciantes

Aplica-se a
Excel para Microsoft 365 Word para Microsoft 365 Outlook para Microsoft 365 PowerPoint para Microsoft 365 Access para Microsoft 365 Excel 2024 Outlook 2024 PowerPoint 2024 Access 2024 Excel 2021 Word 2021 Outlook 2021 PowerPoint 2021 Access 2021 Visio Professional 2021 Excel 2019 Word 2019 Outlook 2019 PowerPoint 2019 Access 2019 Visio Professional 2019 Excel 2016 Word 2016 Outlook 2016 PowerPoint 2016 Access 2016 Visio Professional 2016 Office 2016

Você já deve ter ouvido falar do XML (Extensible Markup Language) e pode ter ouvido muitos motivos pelos quais sua organização deve usá-lo. Mas o que é XML, exatamente? Este artigo explica os conceitos básicos do XML — o que é e como ele funciona.

Neste artigo

Um breve olhar sobre marcação, marcação e marcas

Para entender XML, é útil entender a ideia de marcar dados. People criou documentos por séculos e, por tanto tempo, marcou esses documentos. Por exemplo, os professores marcam os trabalhos dos alunos o tempo todo. Eles dizem aos alunos para mover parágrafos, esclarecer frases, corrigir erros ortográficos e assim por diante. Marcar um documento é como definimos a estrutura, o significado e a aparência visual das informações no documento. Se você já usou o recurso Controlar Alterações no Microsoft Office Word, usou uma forma computadorizada de marcação.

Na computação, "mark-up" também evoluiu para "markup". Marcação é o processo de usar códigos chamados tags (ou às vezes tokens) para definir a estrutura, a aparência visual e, no caso do XML, o significado de quaisquer dados.

O código HTML deste artigo é um bom exemplo de marcação de computador no trabalho. Se você navegar por ela (no Microsoft Internet Explorer, clique com o botão direito do mouse na página e clique em Exibir Origem), verá uma mistura de texto legível e marcas HTML (Hypertext Markup Language), como <p> e <h2>. As marcas em documentos HTML e XML são fáceis de reconhecer porque estão entre colchetes angulares. No código-fonte deste artigo, as tags HTML fazem uma variedade de trabalhos, como definir o início e o fim de cada parágrafo (<p> ... </p>) e marcar o local de cada imagem.

Então, o que o torna XML?

Documentos HTML e XML contêm dados cercados por tags, mas é aí que as semelhanças entre as duas linguagens terminam. Em HTML, as marcas definem a aparência de seus dados — os títulos vão aqui, o parágrafo começa ali e assim por diante. Em XML, as tags definem a estrutura e o significado de seus dados - o que são os dados.

Ao descrever a estrutura e o significado de seus dados, você possibilita reutilizar esses dados de várias maneiras. Por exemplo, se você tiver um bloco de dados de vendas e cada item no bloco estiver claramente identificado, poderá carregar apenas os itens necessários em um relatório de vendas e carregar outros itens em um banco de dados de contabilidade. Em outras palavras, você pode usar um sistema para gerar seus dados e marcá-los com marcas XML e, em seguida, processar esses dados em qualquer número de outros sistemas, independentemente da plataforma de hardware ou sistema operacional. Essa portabilidade é o motivo pelo qual o XML se tornou uma das tecnologias mais populares para troca de dados.

Lembre-se dos seguintes fatos, à medida que prosseguir:

  • Não é possível usar HTML no lugar de XML. No entanto, é possível encapsular os dados XML em marcas HTML e exibi-los em uma página da Web.

  • O HTML é limitado a um conjunto predefinido de tags que todos os usuários compartilham.

  • O XML permite que você crie qualquer marca necessária para descrever seus dados e a estrutura desses dados. Por exemplo, digamos que você precise armazenar e compartilhar informações sobre animais de estimação. Você pode criar o seguinte código XML:

    <?xml version="1.0"?>
    <CAT>
      <NAME>Izzy</NAME>
      <BREED>Siamese</BREED>
      <AGE>6</AGE>
      <ALTERED>yes</ALTERED>
      <DECLAWED>no</DECLAWED>
      <LICENSE>Izz138bod</LICENSE>
      <OWNER>Colin Wilcox</OWNER>
    </CAT>
    
    

Você pode ver que as tags XML permitem saber exatamente que tipo de dados você está analisando. Por exemplo, você sabe que são dados sobre um gato e pode encontrar facilmente o nome do gato, a idade e assim por diante. A capacidade de criar tags que definem quase qualquer estrutura de dados é o que torna o XML "extensível".

Mas não confunda as marcas nesse exemplo de código com marcas em um arquivo HTML. Por exemplo, se você colar essa estrutura XML em um arquivo HTML e exibir o arquivo em seu navegador, os resultados serão parecidos com este:

Izzy Siamese 6 yes no Izz138bod Colin Wilcox

O navegador ignora suas marcas XML e exibe apenas os dados.

Uma palavra sobre dados bem formados

Você pode ouvir alguém do seu departamento de TI menção XML "bem formado". Um arquivo XML bem formado está em conformidade com um conjunto de regras muito rígidas que regem o XML. Se um arquivo não estiver em conformidade com essas regras, o XML deixará de funcionar. Por exemplo, no exemplo de código anterior, cada tag de abertura tem uma tag de fechamento, portanto, o exemplo segue uma das regras para ser bem formado. Se você remover uma marca e tentar abrir esse arquivo em um dos programas do Office, verá uma mensagem de erro e o programa o impedirá de usar o arquivo.

Você não precisa necessariamente conhecer as regras para criar XML bem formado (embora sejam fáceis de entender), mas é preciso lembrar que você pode compartilhar dados XML entre programas e sistemas somente se esses dados estiverem bem formados. Se você não conseguir abrir um arquivo XML, provavelmente esse arquivo não está bem formado.

O XML também é independente de plataforma, o que significa que qualquer programa criado para usar XML pode ler e processar seus dados XML, independentemente do hardware ou sistema operacional. Por exemplo, com as marcas XML corretas, você pode usar um programa de área de trabalho para abrir e trabalhar com dados de um computador mainframe. E, independentemente de quem cria um corpo de dados XML, você pode trabalhar com os mesmos dados em vários programas do Office. Por ser tão portátil, o XML se tornou uma das tecnologias mais populares para troca de dados entre bancos de dados e áreas de trabalho do usuário.

XML usado por outros programas

Além de dados marcados e bem formados, os sistemas XML normalmente usam dois componentes adicionais: esquemas e transformações. As seções a seguir explicam como esses componentes adicionais funcionam.

Uma rápida olhada nos esquemas

Não deixe que o termo "esquema" o intimide. Um esquema é apenas um arquivo XML que contém as regras para o que pode e o que não pode residir em um arquivo de dados XML. Os arquivos de esquema normalmente usam a extensão de nome de arquivo .xsd, enquanto os arquivos de dados XML usam a extensão .xml.

Os esquemas permitem que os programas validem dados. Eles fornecem a estrutura para estruturar os dados e garantir que eles façam sentido para o criador e quaisquer outros usuários. Por exemplo, se um usuário inserir dados inválidos, como texto em um campo de data, o programa poderá solicitar que o usuário insira os dados corretos. Desde que os dados em um arquivo XML estejam em conformidade com as regras em um determinado esquema, qualquer programa que dê suporte a XML pode usar esse esquema para ler, interpretar e processar os dados. Por exemplo, conforme mostrado na ilustração a seguir, o Excel pode validar os <CAT> dados em relação ao esquema CAT.

Os esquemas permitem que aplicativos compartilhem dados XML.

Os esquemas podem se tornar complexos, e ensinar como criar um está além do escopo deste artigo. (Além disso, você provavelmente tem um departamento de TI que sabe como.) No entanto, é útil saber como são os esquemas. O esquema a seguir define as regras para o <CAT> ... <Conjunto de marcas /CAT> .


<xsd:element name="CAT">  
  <xsd:complexType>  
    <xsd:sequence>
      <xsd:element name="NAME" type="xsd:string"/>
      <xsd:element name="BREED" type="xsd:string"/>
      <xsd:element name="AGE" type="xsd:positiveInteger"/>
      <xsd:element name="ALTERED" type="xsd:boolean"/>
      <xsd:element name="DECLAWED" type="xsd:boolean"/>
      <xsd:element name="LICENSE" type="xsd:string"/>
      <xsd:element name="OWNER" type="xsd:string"/>        
    </xsd:sequence>
  </xsd:complexType>
</xsd:element>

Não se preocupe em entender tudo na amostra. Apenas tenha estes fatos em mente:

  • Os itens de linha no esquema de exemplo são chamados de declarações. Se você precisar de informações adicionais sobre um animal, como sua cor ou marcações, é provável que seu departamento de TI adicione uma declaração ao esquema. Você pode alterar seu sistema XML à medida que suas necessidades de negócios evoluem.
  • As declarações fornecem uma enorme quantidade de controle sobre a estrutura de dados. Por exemplo, a <xsd:sequence> declaração significa que as tags, como <NAME> e <BREED> , devem ocorrer na ordem em que estão listadas acima. As declarações também podem controlar os tipos de dados que os usuários podem inserir. Por exemplo, o esquema acima requer um número positivo para a idade do gato e valores booleanos (TRUE ou FALSE) para as tags ALTERED e DECLAWED.
  • Quando os dados em um arquivo XML estão em conformidade com as regras fornecidas por um esquema, esses dados são considerados válidos. O processo de verificação de um arquivo de dados XML em relação a um esquema é chamado (logicamente) de validação. A grande vantagem de usar esquemas é que eles podem ajudar a evitar dados corrompidos. Eles também facilitam a localização de dados corrompidos, pois o XML é interrompido quando encontra um problema.

Uma rápida olhada nas transformações

Como mencionamos anteriormente, o XML também fornece maneiras poderosas de usar ou reutilizar dados. O mecanismo para reutilizar dados é chamado de XSLT (Extensible Stylesheet Language Transformation), ou simplesmente, uma transformação.

Você (ok, seu departamento de TI) também pode usar transformações para trocar dados entre sistemas de back-end, como bancos de dados. Por exemplo, digamos que o Banco de Dados A armazene os dados de vendas em uma estrutura de tabela que funcione bem para o departamento de vendas. O banco de dados B armazena os dados de receita e despesa em uma estrutura de tabela adaptada para o departamento de contabilidade. O banco de dados B pode usar uma transformação para aceitar dados de A e gravá-los nas tabelas corretas.

A combinação de arquivo de dados, esquema e transformação constitui um sistema XML básico. A ilustração a seguir mostra como esses sistemas normalmente funcionam. O arquivo de dados é validado em relação ao esquema e, em seguida, renderizado de várias maneiras utilizáveis por uma transformação. Nesse caso, a transformação implanta os dados em uma tabela em uma página da Web.

Estrutura de arquivo XML básico com esquema e transformação

O exemplo de código a seguir mostra uma maneira de escrever uma transformação. Ele carrega os <dados CAT> em uma tabela em uma página da Web. Novamente, o objetivo do exemplo não é mostrar como escrever uma transformação, mas mostrar uma forma que uma transformação pode assumir.


<?xml version="1.0"?>
<xsl:stylesheet version="1.0"> 
<TABLE>
  <TR>
    <TH>Name</TH>
    <TH>Breed</TH>
    <TH>Age</TH>
    <TH>Altered</TH>
    <TH>Declawed</TH>    
    <TH>License</TH>
    <TH>Owner</TH>
  </TR>
  <xsl:for-each select="CAT">
  <TR ALIGN="LEFT" VALIGN="TOP">
    <TD>
      <xsl:value-of select="NAME"/>
    </TD>
    <TD>
      <xsl:value-of select="BREED"/>
    </TD>
    <TD>
      <xsl:value-of select="AGE"/>
    </TD>
    <TD>
      <xsl:value-of select="ALTERED"/>
    </TD>
    <TD>
      <xsl:value-of select="DECLAWED"/>
    </TD>
    <TD>
      <xsl:value-of select="LICENSE"/>
    </TD>
    <TD>
      <xsl:value-of select="OWNER"/>
    </TD>
  </TR>
</xsl:for-each>
</TABLE>

Este exemplo mostra como um tipo de transformação pode parecer quando é codificado, mas lembre-se de que você pode apenas descrever o que precisa dos dados em inglês simples. Por exemplo, você pode ir ao seu departamento de TI e dizer que precisa imprimir os dados de vendas de regiões específicas nos últimos dois anos, "e eu preciso que eles tenham essa aparência". Seu departamento de TI pode então gravar (ou alterar) uma transformação para fazer esse trabalho.

O que torna tudo isso ainda mais conveniente é que a Microsoft e um número crescente de outros fornecedores estão criando transformações para trabalhos de todos os tipos. No futuro, é provável que você consiga baixar uma transformação que atenda às suas necessidades ou que possa ser ajustada para atender à sua finalidade. Isso significa que o uso do XML custará menos ao longo do tempo.

Uma espiada no XML no Microsoft Office System

As edições profissionais do Office oferecem amplo suporte a XML. O Microsoft Office usa formatos de arquivo baseados em XML, como .docx, .xlsx e .pptx. Como o XML armazena dados em um formato de texto em vez de um formato binário proprietário, seus clientes podem definir seus próprios esquemas e usar seus dados de mais maneiras, tudo sem precisar pagar royalties. Para obter mais informações sobre os novos formatos, consulte Formatos Open XML e extensões de nome de arquivo. Outras vantagens incluem:

  • Arquivos menores. O novo formato usa ZIP e outras tecnologias de compactação para reduzir o tamanho do arquivo em até 75% em comparação com os formatos binários usados em versões anteriores do Office.
  • Recuperação de informações mais fácil e maior segurança. O XML é legível por humanos; portanto, se um arquivo ficar danificado, você poderá abri-lo no Bloco de Notas da Microsoft ou em outro leitor de texto e recuperar pelo menos algumas de suas informações. Além disso, os novos arquivos são mais seguros porque não podem conter código do Visual Basic for Applications (VBA). Se você usar o novo formato para criar modelos, todos os controles ActiveX e macros VBA residirão em uma seção separada e mais segura do arquivo. Além disso, você pode usar ferramentas, como o Inspetor de Documentos, para remover quaisquer dados pessoais. Para obter mais informações sobre como usar o Inspetor de Documentos, consulte o artigo Remover dados ocultos e informações pessoais inspecionando documentos.

Até agora tudo bem, mas e se você tiver dados XML sem esquema? Os programas do Office que dão suporte a XML têm suas próprias abordagens para ajudá-lo a trabalhar com os dados. Por exemplo, o Excel infere um esquema se você abre um arquivo XML que ainda não tem um. O Excel oferece a opção de carregar esses dados em uma tabela XML. Você pode usar as listas e tabelas XML para classificar, filtrar ou adicionar cálculos aos dados.

Habilitar as ferramentas XML no Office

A guia Desenvolvedor não é exibida por padrão, mas você precisará adicioná-la à faixa de opções quando quiser usar comandos XML no Office. Confira Mostrar a guia Desenvolvedor.