Ou seja ... xml version= " 1.0 "encoding=" utf-8"?>

sou novo em XML e estou a tentar compreender o básico. Eu li A linha abaixo em "Learning XML", mas ainda não estou claro. Alguém me pode indicar um livro ou site que explique claramente estes conceitos básicos?

de aprender XML:

a declaração XML descreve algumas das propriedades mais gerais de o documento, dizendo ao processador XML que precisa de um analisador XML para interprete este documento.

O que significa isto?

entenda a parte "xml version" - tanto o doc quanto o usuário do doc devem "falar" na mesma versão do XML. Mas e a parte da codificação? Porque é que isso é necessário?

Author: rghome, 2012-12-06

6 answers

Para compreender o atributo "codificação", tem de compreender a diferença entre bytes e caracteres.

Pense em bytes como números entre 0 e 255, enquanto os personagens são coisas como" a"," 1 "e"Ä". O conjunto de todos os caracteres disponíveis é chamado de conjunto de caracteres .

Cada carácter tem uma sequência de um ou mais bytes que são usados para o representar; no entanto, o número e o valor exactos dos bytes depende da codificação usada e existem muitas codificações diferentes.

A maioria das codificações são baseadas em um antigo conjunto de caracteres e codificação chamado ASCII que é um único byte por caractere (na verdade, apenas 7 bits) e contém 128 caracteres, incluindo um monte dos caracteres comuns usados em inglês americano.

Por exemplo, aqui estão 6 caracteres no conjunto de caracteres ASCII que são representados pelos valores 60 a 65.

Extract of ASCII Table 60-65
╔══════╦══════════════╗
║ Byte ║  Character   ║
╠══════╬══════════════║
║  60  ║      <       ║
║  61  ║      =       ║
║  62  ║      >       ║
║  63  ║      ?       ║
║  64  ║      @       ║
║  65  ║      A       ║
╚══════╩══════════════╝

No conjunto ASCII completo, o valor mais baixo utilizado é zero e o mais alto é 127 (ambos são Caracteres de controle ocultos).

No entanto, uma vez que você começa a precisar de mais caracteres do que o ASCII básico fornece (por exemplo, letras com sotaques, símbolos de moeda, Símbolos gráficos, etc.), ASCII não é adequado e você precisa de algo mais extenso. Você precisa de mais caracteres (um conjunto de caracteres diferente) e você precisa de uma codificação diferente, uma vez que 128 caracteres não é suficiente para caber todos os caracteres dentro. Algumas codificações oferecem um byte (256 caracteres) ou up a seis bytes.

Com o tempo, muitas codificações foram criadas. No mundo do Windows, há CP1252, ou ISO-8859-1, enquanto usuários Linux tendem a favorecer UTF-8. Java usa UTF-16 nativamente.

Uma sequência de valores de byte para um carácter numa codificação pode significar um carácter completamente diferente noutra codificação, ou pode até ser inválido.

Por exemplo, em ISO 8859-1, â é representado por um byte de valor 226, enquanto que em UTF-8 são dois bytes: 195, 162. No entanto, em ISO 8859-1, 195, 162 seriam dois caracteres, Ã ¢.

Pense em XML não como uma sequência de caracteres, mas como uma sequência de bytes.

Imagine que o sistema que recebe o XML vê os bytes 195, 162. Como é que ele sabe que personagens são estas?

Para que o sistema interprete esses bytes como caracteres reais( e assim os mostre ou os converta para outra codificação), ele precisa saber a codificação usada no XML.

Uma vez que as codificações mais comuns são compatíveis com ASCII, tanto quanto os caracteres alfabéticos básicos e símbolos vão, nestes casos, a própria declaração pode escapar usando apenas os caracteres ASCII para dizer qual é a codificação. Em outros casos, o analisador deve tentar descobrir a codificação da declaração. Uma vez que sabe que a declaração começa com <?xml é muito mais fácil fazer isso.

Finalmente, o atributo version especifica a versão XML, da qual existe são dois no momento (ver Wikipedia XML versions . Existem pequenas diferenças entre as versões, então um analisador XML precisa saber com o que está lidando. Na maioria dos casos (para falantes de inglês de qualquer maneira), a versão 1.0 é suficiente.

 91
Author: rghome, 2018-02-24 09:57:45

Uma declaração XML não é necessária em todos os documentos XML; no entanto, os autores de documentos XHTML são fortemente encorajados a usar declarações XML em todos os seus documentos. Tal declaração é necessária quando a codificação de caracteres do documento é diferente do UTF-8 ou UTF-16 padrão e nenhuma codificação foi determinada por um protocolo de nível superior. Aqui está um exemplo de um documento XHTML. Neste exemplo, a declaração XML está incluída.

<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html 
 PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <title>Virtual Library</title>
  </head>
  <body>
    <p>Moved to <a href="http://example.org/">example.org</a>.</p>
 </body>
</html>

Por favor consulte as normas W3 para XML .

 17
Author: Pavan, 2016-11-15 11:58:32

Este é o preâmbulo do XML opcional.

  • version="1.0" significa que este é o padrão XML que este ficheiro está em conformidade com
  • encoding="utf-8" significa que o ficheiro é codificado usando a codificação Unicode UTF-8
 3
Author: Oded, 2012-12-06 12:06:21

A declaração de codificação identifica a codificação A que é usada representar os caracteres do documento.

Mais na Declaração XML aqui: http://msdn.microsoft.com/en-us/library/ms256048.aspx

 3
Author: robasta, 2012-12-06 12:06:33
Alguém me pode indicar um livro ou um site que explique claramente estes conceitos básicos ?

Você pode verificar este Tutorial XML com exemplos.

Mas e a parte da codificação ? Porque é que isso é necessário ?

O W3C fornece explicação sobre a codificação :

" O conjunto de caracteres do documento para XML e HTML 4. 0 é Unicode (também conhecido por ISO 10646). Isto significa que os navegadores HTML e os processadores XML devem comportar-se como usaram o Unicode internamente. Mas isso não significa que os documentos tem de ser transmitido em Unicode. Desde que o cliente e o servidor concordem na codificação, eles podem usar qualquer codificação que pode ser convertida para Unicode..."

 2
Author: O.Badr, 2018-01-01 22:59:01

A declaração XML no mapa do documento consiste no seguinte:

The version number, ?xml version="1.0"?. 
Isto é obrigatório. Embora o número possa mudar para versões futuras de XML, 1.0 é a versão atual.

A declaração de codificação,

encoding="UTF-8"?

Isto é opcional. Se usado, a declaração de codificação deve aparecer imediatamente após a informação da versão na declaração XML, e deve conter um valor que represente uma codificação de caracteres existente.

 -1
Author: kshama singh, 2013-04-27 17:26:05