XML para principiantes

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

Pode ter ouvido falar da linguagem XML (Extensible Markup Language) e pode ter ouvido várias razões pelas quais a sua organização a deve utilizar. Mas o que é exatamente XML? Este artigo explica as noções básicas de XML: o que é e como funciona.

Neste artigo

Uma breve visão sobre marcações, marcações e etiquetas

Para entender XML, ajuda a entender a ideia de marcar dados. People criaram documentos durante séculos e, durante o mesmo tempo, marcaram-nos. 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, entre outros. Marcar um documento é como definimos a estrutura, o significado e a aparência visual das informações no documento. Se já utilizou a funcionalidade Registar Alterações no Microsoft Office Word, utilizou um formulário de marcação informatizado.

Na computação, "markup" também evoluiu para "markup". Markup é 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 para este artigo é um bom exemplo da marcação do computador no trabalho. Se você navegar por ele (no Microsoft Internet Explorer, clique com o botão direito do mouse na página e clique em Exibir fonte), verá uma mistura de texto legível e tags de linguagem HTML (Hypertext Markup Language), como <p> e <h2>. As etiquetas em documentos HTML e XML são fáceis de reconhecer porque estão entre parênteses 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 a localização de cada imagem.

Então, o que o torna XML?

Os documentos HTML e XML contêm dados rodeados de etiquetas, mas é aí que terminam as semelhanças entre as duas línguas. Em HTML, as tags definem a aparência dos seus dados — os títulos ficam aqui, o parágrafo começa lá e assim por diante. Em XML, as tags definem a estrutura e o significado dos seus dados, ou seja, quais são os dados.

Quando descreve a estrutura e o significado dos seus dados, torna possível a reutilização desses dados de várias formas. Por exemplo, se tiver um bloco de dados de vendas e cada item no bloco estiver claramente identificado, pode carregar apenas os itens de que necessita num relatório de vendas e carregar outros itens para uma base de dados de contabilidade. Dito de outra forma, você pode usar um sistema para gerar seus dados e marcá-los com tags 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 factos que se seguem à medida que for avançando:

  • Não é possível utilizar HTML em vez de XML. No entanto, pode moldar os seus dados XML em etiquetas HTML e apresentá-los numa página Web.

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

  • O XML permite criar qualquer tag necessária para descrever seus dados e a estrutura desses dados. Por exemplo, digamos que você precisa armazenar e compartilhar informações sobre animais de estimação. 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>
    
    

Pode ver que as etiquetas XML permitem saber exatamente que tipo de dados está a analisar. Por exemplo, sabe que se trata de dados sobre um gato e pode encontrar facilmente o nome, a idade e assim por diante do gato. A capacidade de criar tags que definem praticamente qualquer estrutura de dados é o que torna o XML "extensível".

Mas não confunda as tags nesse exemplo de código com tags em um arquivo HTML. Por exemplo, se colar essa estrutura XML num ficheiro HTML e vir o ficheiro no browser, os resultados serão semelhantes a estes:

Izzy Siamese 6 yes no Izz138bod Colin Wilcox

O browser ignora as etiquetas XML e apresenta apenas os dados.

Uma palavra sobre dados bem formados

É possível que alguém do seu departamento de TI mencione XML "bem formado". Um arquivo XML bem formado está em conformidade com um conjunto de regras muito rígidas que regem XML. Se um ficheiro não estiver em conformidade com essas regras, o XML deixa de funcionar. Por exemplo, no exemplo de código anterior, cada tag de abertura tem uma tag de fechamento, então o exemplo segue uma das regras para ser bem formado. Se remover uma etiqueta e tentar abrir esse ficheiro num dos programas do Office, verá uma mensagem de erro e o programa irá impedi-lo de utilizar o ficheiro.

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

O XML também é independente da 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 tags XML corretas, você pode usar um programa de área de trabalho para abrir e trabalhar com dados de um computador mainframe. Além disso, independentemente de quem cria um corpo de dados XML, pode trabalhar com os mesmos dados em vários programas do Office. Por ser tão portátil, o XML tornou-se uma das tecnologias mais populares para troca de dados entre bancos de dados e desktops de usuários.

XML utilizado 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 ficheiro XML que contém as regras para o que pode e não pode residir num ficheiro 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 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 pode solicitar que o usuário insira os dados corretos. Desde que os dados num ficheiro XML estejam em conformidade com as regras de um determinado esquema, qualquer programa que suporte XML pode utilizar esse esquema para ler, interpretar e processar os dados. Por exemplo, conforme apresentado na ilustração seguinte, o Excel pode validar os <CAT> dados relativamente ao esquema CAT.

Os esquemas permitem que as aplicações partilhem dados XML.

Os esquemas podem tornar-se complexos e ensinar-lhe como criar um está fora do âmbito deste artigo. (Além disso, você provavelmente tem um departamento de TI que sabe como.) No entanto, é útil saber qual é o aspeto dos esquemas. O esquema a seguir define as regras para a <CAT> ... </CAT> conjunto de etiquetas.


<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. Tenha apenas estes factos em atenção:

  • Os itens de linha no esquema de exemplo são denominados declarações. Se necessitasse de informações adicionais sobre um animal, como a sua cor ou marcações, o mais provável é que o seu departamento de TI adicionasse uma declaração ao esquema. Pode alterar o seu sistema XML à medida que as necessidades da sua empresa 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> , têm que ocorrer na ordem em que estão listadas acima. As declarações também podem controlar os tipos de dados que os utilizadores podem introduzir. Por exemplo, o esquema acima requer um número positivo para a idade do gato e valores Booleanos (VERDADEIRO ou FALSO) para as tags ALTERADO 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 ficheiro de dados XML relativamente a um esquema é denominado validação (logicamente). A grande vantagem de usar esquemas é que eles podem ajudar a evitar dados corrompidos. Também facilitam a localização de dados danificados porque o XML para quando encontra um problema.

Um rápido olhar sobre as transformações

Como mencionámos anteriormente, o XML também proporciona formas avançadas de utilizar 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 back-end, como bancos de dados. Por exemplo, digamos que a Base de Dados A armazena os dados de vendas numa estrutura de tabela que funciona bem para o departamento de vendas. A base de dados B armazena os dados de receitas e despesas numa estrutura de tabela adaptada ao departamento de contabilidade. O banco de dados B pode usar uma transformação para aceitar dados de A e gravar esses dados 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. Neste caso, a transformação implementa os dados numa tabela numa página Web.

Uma estrutura de ficheiro XML básica com um esquema e transformação

O exemplo de código a seguir mostra uma maneira de escrever uma transformação. Carrega os <dados CAT> numa tabela numa página 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 é codificada, mas lembre-se de que você pode apenas descrever o que precisa dos dados em inglês simples. Por exemplo, pode dirigir-se ao seu departamento de TI e dizer que tem de imprimir os dados de vendas de regiões específicas dos últimos dois anos "e eu preciso que tenham este aspeto". Em seguida, o departamento de TI pode escrever (ou alterar) uma transformação para fazer essa tarefa.

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 empregos de todos os tipos. No futuro, as chances são de que você será capaz de baixar uma transformação que atenda às suas necessidades ou que você possa ajustar para se adequar ao seu propósito. Isso significa que o uso de XML será menor ao longo do tempo.

Dê uma olhada no XML no Microsoft Office System

As edições profissionais do Office oferecem amplo suporte a XML. O Microsoft Office utiliza os formatos de ficheiro 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 várias maneiras, tudo sem ter que 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:

  • Ficheiros de tamanho mais pequeno. O novo formato utiliza ZIP e outras tecnologias de compressão para reduzir o tamanho do ficheiro em até 75% em comparação com os formatos binários utilizados nas versões anteriores do Office.
  • Recuperação de informações mais fácil e maior segurança. O XML é legível por utilizadores, pelo que, se um ficheiro ficar danificado, pode abri-lo no Bloco de notas da Microsoft ou noutro leitor de texto e recuperar, pelo menos, algumas das suas informações. Além disso, os novos ficheiros são mais seguros porque não podem conter código Visual Basic for Applications (VBA). Se utilizar o novo formato para criar modelos, todos os controlos ActiveX e macros VBA residem numa secção separada e mais segura do ficheiro. Além disso, pode utilizar 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 suportam XML têm abordagens próprias para ajudá-lo a trabalhar com os dados. Por exemplo, o Excel infere um esquema se abrir um ficheiro XML que ainda não tem um. Em seguida, o Excel dá-lhe a opção de carregar estes dados para uma tabela XML. Pode utilizar as listas e tabelas XML para ordenar, filtrar ou adicionar cálculos aos dados.

Ativar as ferramentas XML no Office

O separador Programador não é apresentado, por predefinição, mas terá de o adicionar ao friso quando quiser utilizar comandos XML no Office. Veja Mostrar o separador Programador.