Информационный набор XML ( XML Infoset ) — это спецификация W3C , описывающая абстрактную модель данных XML- документа в терминах набора информационных элементов . [1] Определения в спецификации набора информации XML предназначены для использования в других спецификациях, которые должны ссылаться на информацию в правильно сформированном документе XML .
XML-документ имеет набор информации, если он правильно сформирован и удовлетворяет ограничениям пространства имен . Для того чтобы иметь набор информации, XML-документ не должен быть действительным .
Информационный набор может содержать до одиннадцати различных типов информационных элементов:
Изначально XML был разработан без формального определения его информационного набора. Это было официально оформлено только в более поздней работе, начавшейся в 1999 году, впервые опубликованной как отдельный рабочий проект W3C в конце декабря того же года. [2] Второе издание рекомендации Infoset было принято 4 февраля 2004 года. [3] Если когда-либо будет опубликована версия 2.0 стандарта XML, вполне вероятно, что она включит в себя рекомендацию Infoset как неотъемлемую часть этого стандарта.
Расширение или модификация информационного набора — это процесс изменения информационного набора во время проверки схемы , например, путем добавления атрибутов по умолчанию. Расширенный информационный набор называется информационным набором после проверки схемы или PSVI .[4]
Расширение Infoset несколько противоречиво: утверждается, что оно является нарушением модульности и имеет тенденцию вызывать проблемы совместимости, поскольку приложения получают разную информацию в зависимости от того, была ли выполнена проверка или нет.[5]
Расширение информационного набора поддерживается XML-схемой , но не RELAX NG .
Обычно набор информации XML сериализуется как XML. [6] Существуют также форматы сериализации для двоичного XML , CSV , [7] и JSON . [8]
Экземпляры набора информации XML: