Набір символів документа

Що таке "Набір символів документа" для XML і HTML, і як від пов'язаний з кодуванням, що використовується в тексті документа?

З метою спрощення та дотримання загальноприйнятої практики, у цій статті FAQ Unicode відноситься до набору символів, визначених спільно Unicode та ISO/IEC 10646.

Набір символів документа абобазовий набір символів XML і HTML (версія 4.0) - це універсальний набір символів (стандарт UCS), визначений спільно ISO/IEC 10646 та стандартами Unicode.

Це означає, що логічна модель, що описує процес обробки XML та HTML, викладена в рамках набору символів Unicode.

Це не означає, що всі документи HTML та XML мають бути закодовані як Unicode; це означає, що всі подібні документи можуть містити лише набір символів, визначених Unicode. Зауважте, щонабір символів і коювання - це різні поняття - наприклад, повний набір символів Unicode може бути закодований по-різному, як UTF-8, UTF-16 та UTF-32. Будь-яке кодування може бути використане для вашого документа, якщо воно ясно позначене і є одним із підкласів Unicode. (Хоча буде досить важко знайти кодування, яке не є підкласом.)

З іншого боку, краще скрізь використовувати кодування Unicode, оскільки Unicode полегшує перехід до інтернаціоналізації та широко підтримується прикладними процесами HTML та всіма програмами обробки XML.

By the way

На практиці, не всі символи Unicode можуть бути використані скрізь у XML та HTML. Наприклад, певні знаки виключені з імен тега елемента, а певні знаки керування виключені зі змісту. При цьому зауважте, що XML 1.1 дозволяє використовувати набагато більше знаків, у тому числі і для імен тега елемента, ніж XML 1.0.

Передісторія

При HTML 2.0 буловизначено, що всі символи в документі HTML мають бути переведені щодо ISO 8859-1 (також відомого як ISO Latin 1), але також було оголошено, що при майбутніх версіях HTML буде використано розширений набір, а саме Unicode (або ISO 10646), що означає – буде доступно більше світових символів.