O que é o formato de ficheiro XML?
Arquivos .xml armazenam dados no formato Extensible Markup Language, um padrão de texto simples desenvolvido pela W3C. Arquivos XML podem representar qualquer estrutura de dados em texto simples, tornando-os adequados para armazenar, compartilhar e transportar dados entre aplicações pela internet.
O XML utiliza estruturas de marcação - tags e atributos aninhados - que definem as regras que um processo de codificação deve seguir para produzir documentos que sejam legíveis por máquinas e por humanos. Foi projetado como uma implementação mais acessível do SGML (Standard Generalized Markup Language), simplificado para uso na web. Os arquivos normalmente começam com a declaração <?xml version="1.0" encoding="UTF-8"?>, e o tipo MIME é application/xml.
Arquivos XML usam codificação Unicode (UTF-8 por padrão) e podem ser abertos e editados com qualquer editor de texto padrão. Como o formato é autodescritivo - cada elemento é nomeado e aninhado dentro de uma hierarquia clara - os dados podem ser inspecionados sem software dedicado, embora o processamento ou a consulta programática exijam um parser ou uma linguagem de consulta como XPath.
O XML é, em muitos aspectos, semelhante ao .HTML, pois ambos os formatos usam linguagem de marcação para representar conteúdo estruturado. O HTML foca na apresentação e interação de páginas web, enquanto o XML descreve o conteúdo em relação aos próprios dados. Os dois formatos são usados juntos em muitas aplicações web. O XML também serve como base para padrões relacionados, como esquemas de validação .XSD, folhas de estilo de transformação .XSL e feeds de sindicação .RSS.
Segurança e proteção
RISCO: MEDIUMUm arquivo XML é texto simples e não contém código executável, portanto, ler um é seguro. Os riscos reais estão no PARSER, não no arquivo: ataques de XML External Entity (XXE) abusam de declarações <!DOCTYPE>/<!ENTITY> para ler arquivos locais ou disparar requisições de rede, e a expansão de entidades «billion laughs» pode esgotar a memória (negação de serviço). Isso só importa quando o software analisa XML não confiável com entidades externas e processamento de DTD habilitado - parsers modernos desabilitam isso por padrão. Para um usuário final que apenas abre um .xml para ler, não há perigo; a cautela é para desenvolvedores que processam XML não confiável. Também cuidado com arquivos que parecem «dados.xml», mas são, na verdade, outra coisa renomeada.
Detalhes do formato
em resumoProgramas que abrem arquivos XML
Detalhes técnicos
especificação profunda| Codificação de arquivo | Apenas Unicode; UTF-8 é o padrão quando nenhuma declaração está presente; UTF-16 e UTF-32 são suportados e devem ser declarados no prólogo XML |
| Tipo MIME | `application/xml` (primário, conforme RFC 7303); `text/xml` aceito para compatibilidade legada; dialetos específicos podem registrar seu próprio tipo (ex: `application/rss+xml`) |
| Assinatura do arquivo | Sem número mágico binário fixo; os arquivos normalmente abrem com a declaração XML opcional `<?xml` (hex `3C 3F 78 6D 6C`); um BOM UTF-8 (`EF BB BF`) ou BOM UTF-16 (`FF FE` / `FE FF`) pode precedê-lo |
| Estrutura do documento | Hierarquia estrita: exatamente um elemento raiz; aninhamento ilimitado de elementos filhos; tags de abertura podem conter atributos nomeados e entre aspas; toda a árvore deve estar bem formatada |
| Regras de boa formação | Todas as tags devem ser fechadas ou autofechadas; elementos não devem se cruzar no aninhamento; valores de atributos devem estar entre aspas; cinco entidades predefinidas (&, <, >, ", ') lidam com caracteres reservados |
| Mecanismos de validação | DTD (Document Type Definition - arquivo `.dtd` interno ou externo, padrão mais antigo) e XSD (XML Schema Definition - um arquivo `.xsd` escrito em XML, com um sistema de tipos mais rico); Schematron oferece validação baseada em regras |
| Suporte a namespace | Declarações `xmlns` e `xmlns:prefix` vinculam nomes de elementos e atributos a uma URI, evitando colisões ao combinar vocabulários de múltiplas fontes |
| Seções CDATA | Blocos `<![CDATA[...]]>` permitem que texto bruto contendo <, >, e & apareça sem escape de entidade; útil para incorporar fragmentos HTML ou código de script |
| Instruções de processamento | A sintaxe `<?target instruction?>` incorpora diretivas específicas da aplicação (ex: `<?xml-stylesheet type="text/xsl" href="style.xsl"?>`) fora do modelo de dados XML |
| Linguagens de consulta | XPath 1.0/2.0/3.1 endereça nós individuais dentro de um documento; XQuery fornece consultas estilo SQL sobre conjuntos de dados XML; ambos são padronizados pela W3C |
| Transformação XSLT | Arquivos `.xml` podem ser transformados em HTML, texto simples ou outros vocabulários XML em tempo de execução por um processador XSLT mesclando o documento de origem com uma folha de estilo `.xsl` ou `.xslt` |
| Sintaxe de comentário | `<!-- texto -->` comentários podem aparecer em qualquer lugar fora de uma tag; hifens duplos são proibidos dentro do corpo do comentário; comentários são excluídos do modelo de dados XML |
| Normalização de nova linha | Parsers em conformidade normalizam sequências \r\n e \r isoladas para \n antes do processamento, garantindo comportamento consistente de fim de linha entre plataformas |
| Declarações de entidade | Entidades nomeadas (&nome;) e referências de caracteres numéricos (&#nnnn; decimal ou &#xHHHH; hex) incorporam qualquer ponto de código Unicode; entidades personalizadas podem ser declaradas em um DTD |
| Estrutura do prólogo | Um documento XML consiste em uma declaração XML opcional, uma declaração DOCTYPE opcional, instruções de processamento e comentários opcionais, seguidos por exatamente um elemento raiz |
| Ecossistema de dialetos | XML é a sintaxe base para XHTML, SVG, RSS, Atom, DOCX (Office Open XML), EPUB, KML e formatos de configuração usados por Android, Maven, Spring e Java EE |
| Lançado | 1998 (XML 1.0 W3C Recommendation, February 10, 1998) |
| Padrão aberto | Sim · livre de royalties |
| Especificação | www.w3.org |
Conversões de XML
Perguntas e Respostas da Comunidade
perguntado por usuáriosAinda não há perguntas - seja o primeiro a perguntar sobre arquivos XML.