eXtensible Markup Language

 

 Границы моего языка означают границы моего мира
Людвиг Витгенштейн

 


Что такое XML
 

 XML (eXtensible Markup Language, расширяемый язык разметки):

  • метаязык теговой разметки, предоставляющий инструментарий (возможность добавлять свои собственные теги), для задания специализированных языков разметки (XML-приложений), описывающих данные определенной предметной области и структуры.

XML человекочитаем, стандартизован и универсален (реализован под все платформы).

Метаязык XML реализуется посредством конкретных инкорнаций (приложений)

Метаязык XML является основой для:

  • других языков разметки (XML-приложений)

  • форматов (способов организации) данных

  • стандартов (документально оформленных систем требований, спецификаций, руководящих принципов и характеристик)

  • технологий (хранения, структурирования, передачи, преобразования и т.д.)

Спецификация метаязыка XML: http://www.w3.org/TR/2000/REC-xml-20001006 

Спецификация  - определение объекта, полный набор параметров и вариантов взаимодействия с другими объектами (пользователями, программами, языками, технологиями, данными)

 

 

 

Некоторые XML-приложения
с которыми приходилось сталкиваться kmp
 

FB2

FictionBook   — основанный на XML открытый универсальный формат  электронной литературы. Подробнее здесь

ePub

Electronic Publication   — основанный на XML  открытый универсальный формат электронной литературы. Подробнее здесь

MathML

Mathematical Markup Language  —  основанный на XML  язык математических формул.
Подробнее здесь

SMIL 

Synchronized Multimedia Integration Language  — основанный на XML  язык интеграции и синхронизации мультимедийных средств (см. ниже)

SVG 

Scalable Vector Graphic  — основанный на XML  язык двумерной векторной графики. Подробнее здесь

BML

BML (Behavior markup language) - основанный на XML язык описания жестов и действий в диалоговой компьютерной модели (http://www.mindmakers.org/projects/bml-1-0/wiki#BML-10-Standard

MPML

Multimodal Presentation Markup Language - основанный на XML язык описания мультимодального речевого поведения виртуального собеседника

NewsML

Основанный на XML язык для структурирования цифровых мультимедийных новостей таким образом, чтобы их можно было доставлять на любые устройства.

KML

Keyhole Markup Language — основанный на XML  язык для представления трёхмерных геопространственных данных.

XBRL

основанный на XML расширяемый язык деловой отчетности (см. ниже)

TT

Timed Text  — XML-язык  описания представление субтитров (текста, синхронизированного с видео или аудио)

FX

Interactive Financial Exchange —  основанная на XML спецификация интерактивного обмена финансовой информацией

CommerceML

основанный на XML единый стандарт обмена коммерческой информацией

TM-XML

Trade Mark Extensible Markup Language — основанный на XML язык и открытый стандарт для представления информации, связанной с торговыми марками

TMX

Translation Memory eXchange (обмен памятью переводов) — основанный на XML открытый формат для обмена данными памяти переводов в процессе автоматизированного перевода

SRX

Segmentation Rules eXchange  — основанный на XML язык обмена данными в системах Translation Memory (памяти переводов)

см: https://www.gala-global.org/srx-10

TBX

Term Base eXchange — основанный на XML стандарт представления структурированных  терминологических данных и локализации промышленных стандартов

SRX

Segmentation Rules eXchange  — основанный на XML язык обмена данными в системах Translation Memory (системах автоматизированного перевода)

см: https://www.gala-global.org/srx-10

AXAL

Architecture for XML Authoring and Localization открытая архитектура моделироваия разработки и локализации XML-документов

XLIFF

XML Localisation Interchange File Format – XML-формат для взаимного обмена при языковой локализации (перевода и культурной адаптации)

RDF

основанный на XML  язык мета-описаний ресурсов

CML

Chemical Markup Language - основанный на XML язык разметки химических формул, поддерживается Chem4Word (бесплатный плагин Microsoft для Word)

MusicXML

основанный на XML  универсальный формат нотных программ.
Compressed MusicXML - сжатый файл MusicXML
(http://musescore.org/ru)

XHTML

основанный на XML  язык разметки веб-страниц, по возможностям сопоставимый с HTML

FBML 

FaceBook Markup Language - основанная на XHTML язык приложений для facebook

InkML

основанная на XML  язык разметки для ввода данных с помощью электронной ручкой или стилусом

XAML

eXtensible Application Markup Language — XML-язык разметки для декларативного программирования приложений

XUL

XML User Interface Language —  основанная на XML язык создания динамических пользовательских интерфейсов  приложений, активно взаимодействующих с веб-ресурсами

XDXF

XML Dictionary eXchange Format) — проект по объединению на основе XML всех существующих OpenSource-словарей (XDXF-V и  XDXF-L)

MXML

Macromedia eXtensible Markup Language — основанный на XML декларативный язык описания интерфейсов для создания RIA (Rich Internet Applications, насыщенных интернет-приложений).

OOXML

Office Open XML (*.docx) — серия XML-форматов файлов для хранения электронных документов Microsoft Office.

ODF

OpenDocument Format — открытый XML-формат офисных документов

AIML

Artificial Intelligence Markup Language -  основанная на XML язык разметки для искусственного интеллекта (для создания виртуальных собеседников) cм. AIML и см. AIML2.0

XCES

Corpus Encoding Standard for XML -  основанная на XML язык разметки языковых (лингвистических) корпусов

VoiceXML

Voice eXtensible Markup Language, VXML — основанный на XML язык разметки диалогов для голосовых приложений

APML

Attention Profiling Mark-up Language -  основанная на XML язык разметки объектов внимания (мониторинга интересов и неприязней пользователя)

ARML

Augmented Reality Markup Language  - XML-стандарт описания сцен дополненной реальности (AR) на сонове XML-грамматики. Актуальная версия ARML2.0 (http://www.opengeospatial.org/standards/arml)

X3D

язык разметки и открытый стандарт стандарт ISO для 3D-графики и виртуальной реальности, является результатом развития VRML (VirtualRealityModelingLanguage) и интеграции с XML-технологиями
см. http://www.web3d.org/standards

3DXML

проприетарный XML-стандарт и формат трехмерной графики Dassault Systemes и 3DVIA

XPS

XML Paper Specification - основанная на XML технология обмена файлами, данные которых нельзя изменить простыми средствами

GXA

Global XML Web Services Architecture - расширение SOAP для стандартов создания Web-сервисов на основе XML и сценариев применения Web-сервисов

см. https://msdn.microsoft.com/en-us/library/aa479664.aspx

 

 

Мы выбираем язык не потому, что он нам необходим,
 — мы выбираем язык и тем самым делаем его необходимым
Ролан Барт

 

 

 

VoiceXML
 

VoiceXML (Voice eXtensible Markup Language, VXML) — открытый стандарт W3C на основе XML-языка, диалоговый язык разметки.

VoiceXML предназначен для разработки интерактивных голосовых приложений (Interactive Voice Response, IVR) управления медиаресурсами.

VoiceXML имеет теги, которые являются командами для голосового браузера (voice browser), который:

синтезирует речевое сообщение по тексту,

распознает речевой сигнал,

осуществляет голосовую идентификацию,

предоставляет диалоговое управление.

Язык VXML имеет синтаксис, использует специальные дескрипторы или теги, аналогичные HTML.

Теги VXML выделяются в тексте документа с помощью угловых скобок и служат инструкциями для программы, производящей интерпретацию VXML-кода.

03.06.2013

«Центр речевых технологий» (ЦРТ) разработал и запустил первый в Рунете специализированный сайт (http://vxml.ru/)для системных интеграторов и разработчиков голосовых приложений в IVR, которые работают с языком программирования VoiceXML.

 

 

 

eXtensible Business Reporting Language
 

XBRL (eXtensible Business Reporting Language — открытый стандарт для представления финансовой отчетности в электронном виде на основе XML.

XBRL — международный язык делового общения, на котором говорят регуляторы и участники рынка в контексте финансовой информации, включая МСФО, Базель и Solvency II. Все страны G20, ЕС и БРИКС уже внедрили стандарт XBRL или реализуют программу его внедрения.

XBRL используется синтаксис XML, а также относящиеся к XML технологии, такие как пространство имен XML, XML Schema, XLink и XPath.

Спецификация языка XBRL разрабатывается XBRL International, Inc. (600 участников из 35 стран. Россия с 2015 г.): http://www.xbrl.org/

 

XBRL поддерживается специально созданным консорциумом, в состав которого входят такие крупные компании, как Microsoft, SAP, Deloitte & Touche, Software AG, Morgan Stanley, NASDAQ и еще более 170 компаний, публикующих своих финансовые отчеты в XBRL.

XBRL позволяет осуществлять автоматический обмен финансовой информацией между различным программным обеспечением, которое взаимодействует между собой посредством различных информационных сетей, включая Интернет.

 

XBRL устраняет необходимость повторного ввода финансовой информации, снижая риск ошибочного ввода данных и устраняя необходимость ручного ввода для различных форматов.

21.11.2015

  • Банк России в 2014 году провел предпроектное исследование форматов, являющихся эволюцией формата XML, и выбрал XBRL как самый функциональный, безопасный и удобный.

  • С 1 января 2018 года этот формат станет обязательным стандартом для отчетности большинства некредитных финансовых организаций (НФО) и позже бедет распространен на кредитные организации.

 

 

 

XML в машинном переводчике PROMT
 

 

Пользовательские переводчики Promt Professional (c 9-й версии) включают в качестве отдельного приложения Редактор правил XML, предназначенное для создания и редактирования файлов правил для перевода XML-документов, которые не имеют заранее определенную структуру и для их корректного перевода требуется дополнительная информация, которая сохраняется в файле с расширением *.rls и описывает правила перевода различных тэгов и их атрибутов.

 

Сервер перевода PXML (XBRL Edition) компании Promt обеспечивает эффективный перевод XBRL-документов (открытый стандарт для представления финансовой отчетности в электронном виде на основе XML. ) по финансовой отчетности с нескольких европейских языков.

 

 

 

 

Translation Memory eXchange format

 

 

TMX (Translation Memory eXchange format, формат обмена памятью переводов) - основанный на XML международный формат, может генерироваться практически всеми системами Translation Memory.

Благодаря TMX  переводчик работающий с OmegaT может использовать Translation Memory, созданную в  TRADOS, Transit или Deja Vu и наоборот.

SRX - XML-формат созданный для улучшения TMX и большей эффективности обмена памятью переводов между програмами.

SRX позволяет указывать правила сегментации, которые использовались в предыдущем переводе, повышает эффективность отождествления сегментов в текущем тексте с содержимым Translation Memory.

Тranslation Мemory  - профессиональная технология перевода. Подробности Здесь.

 

 

 

 

 

XML Localisation Interchange File Format

 

XLIFF (XML Localisation Interchange File Format) – XML формат для взаимного обмена при локализации, который распознается всеми провайдерами локализации.

На сегодняшний день XLIFF является наилучшим в современной индустрии переводов способ обмена информацией в формате XML.

Используя XLIFF, можно:

  • защитить синтаксис исходного документа от случайной порчи в процессе перевода,

  • записать переводческую память или предпочтительную терминологию,

  • создавать  динамические web-страницы для перевода и получив доступ к ним через браузер проводить весь процесс перевода онлайн.

Тranslation Мemory  - профессиональная технология перевода. Подробности Здесь.

 

 

 

 

Synchronized Multimedia Integration Language
 

SMIL (рекомендованное произношение: «смайл») — язык разметки для описания мультимедийных презентаций (основанный на XML и рекомендованный W3C) .

SMIL описывает разметку для временной синхронизации, размещения, анимаций, визуальных преобразований и многих других аспектов.

SMIL применяется при создании слайдшоу для презентаций и позволяет демонстрировать многие типы файлов (текст, видео и аудио и др.).

SMIL выполнен на основе XML и позволяет включать в себя ссылки на другие презентации SMIL, а также кнопки, такие как «Старт», «Стоп» и др.

SMIL разработан в 1997 году и способен воспроизводить презентации со многих серверов.

 

 

 

Extensible Hypertext Markup Language
 

XHTML (Extensible Hypertext Markup Language — Расширяемый язык разметки гипертекста)  язык разметки веб-страниц, по возможностям сопоставимый с HTML, созданный на базе XML

Различия между XHTML и HTML:

  • Все элементы должны быть закрыты. Теги, которые не имеют закрывающего тега (например, <img> или <br>) должны иметь на конце / (например, <br />).

  • Булевы атрибуты записываются в развёрнутой форме. Например: <option selected="selected">.

  • Имена тегов и атрибутов должны быть записаны строчными буквами (например, <img alt="" />.

  • Браузеры, встретив ошибку в коде XHTML, сообщают о ней и не обрабатывают документ.

  • Кодировкой по умолчанию является UTF-8 (в HTML -  ISO 8859-1).

02.07.2009 Консорциум Всемирной паутины сообщил о прекращении работ над второй версией XHTML и переносе всех ресурсов в рабочую группу HTML 5.

 

 

 

XML в медицине
 

20.12.2010

США переходят на открытые стандарты и XML в сфере медицинских информационных технологий.

Из отчета президентского научно-технического совета PCAST:

  • Национальному координатору медицинских ИТ и центрам Medicare и Medicaid следует разработать XML-механизмы обмена данными, что позволит вывести медицинские ИТ на новый уровень использования систем электронных медкарт (EHR).

Эрик Ландер (председатель PCAST и президент Института Броуда при Гарвардском университете и Массачусетском технологическом институте): Использование дескрипторов XML позволит обеспечить более надежную защиту конфиденциальных данных и улучшить качество медицинского обслуживания.

Справочно: Система здравоохранения США: $2,26 триллиона (16% ВВП)

 

 

 

 

XML и TEI

 

 

XML лежит в основе кодирования цифровых текстов TEI (Text Encoding Initiative, инициативы кодирования текстов).

http://www.tei-c.org/index.xml

 

 

 

 

 

AJAX
 

 

AJAX (Asynchronous Javascript and XML — асинхронный JavaScript и XML) — комплексная технология построения интерактивных пользовательских интерфейсов веб-приложений, предоставляющая возможность «фонового» обмена данными браузера с веб-сервером.

AJAX позволяет делать машинные динамические запросы к серверу без видимой перезагрузки веб-страницы: пользователь не замечает, когда его браузер запрашивает данные.

При использовании AJAX:

  • пользователь нажимает на какой-нибудь элемент страницы

  • действия с интерфейсом преобразуются в операции с элементами DOM (Document Object Model), с помощью которых обрабатываются данные, доступные пользователю, в результате чего представление их изменяется

  • скрипт (на языке JavaScript) определяет, какая информация необходима для обновления страницы

  • браузер отправляет соответствующий запрос на сервер

  • асинхронное взаимодействие с сервером осуществляется посредством объекта XMLHttpRequest

  • сервер возвращает только ту часть документа, на которую пришёл запрос

  • скрипт вносит изменения с учётом полученной информации (без полной перезагрузки страницы)

  • каскадные таблицы стилей, или CSS (Cascading Style Sheets), обеспечивают согласованный внешний вид элементов приложения и упрощают обращение к DOM-объектам

В качестве формата передачи данных используются XML, JSON, HTML-код, фрагменты простого текста.

 

 

 

XML в Semantic Web

 

В 2002 году Тим Бернерс-Ли представил  концепцию Semantic Webинтеллектуальной информационной сети, которая являлется языковой и программно-технологической надстройкой над Интернетом.

Одной из главных целей языков Semantic Web является предоставление данных в одинаково распознаваемом виде для машин и человека. Ресурсы предназначены для восприятия человеком, а метаданные используются машинами (поисковыми роботами и другими интеллектуальными агентами) для проведения логических заключений о свойствах этих ресурсов.

 

В основе Semantic Web лежат языки описания и разметки, в том числе:

  • XML синтаксически (без семантики) определяет структуру документа, подлежащего машинной обработке.

  • XML Schema (один из языков описания структуры XML документа) определяет ограничения на структуру XML-документа в соответствии с его  схемой.

  • RDF (Resource Description Framework, язык для описания ресурсов, и метаданных о ресурсах) описывает данные в формате субъект-отношение-объект идентификаторами ресурсов и  отображает эти описания на XML-документы.

  • RDF Schema описывает набор отношений, для определения новых типов RDF-данных.

  • OWL  (Web Ontology Language, язык онтологии для Интернета на основе XML/Web стандарта) описывает новые типы данных RDF Schema в терминах существующих.

В основе языка OWL — представление действительности в модели данных объект — свойство.  Каждому элементу описания в этом языке ставится в соответствие URL, связи между элементами организовывает  на базе модели объект — свойство.OWL пригоден не только для описания web страниц, но и любых объектов действительности.

 

Ресурсы и их метаданные являются статической частью семантической паутины, а её динамическую часть представляют семантические Web-сервисы.

 

 

 

 

RDF/XML
 

RDF/XML — нормативный (заданный консорциумом W3C) синтаксис выражения (сериализации) графа RDF в виде документа XML.

 

RDF (Resource Description Framework) — абстрактная модель для представления данных и метаданных (разработана консорциумом Всемирной паутины).

 

RDF — универсальный способ описать любой факт в распределённом мире, в таком структурированном виде, чтобы его могли обрабатывать компьютерные программы.  

 

Ресурс RDF - любая сущность

  • как информационная (например, веб-сайт или изображение),

  • неинформационная (например, человек, город или некое абстрактное понятие).

RDF представляет утверждения о ресурсах в пригодном для машинной обработки виде,  задаёт определённые правила касательно их семантики (значения и смысла) и является основной технологией  концепции семантической паутины (Web 3.0).

 

RDF обеспечивает объединение документов, использующих общие языки, и врзможность использовать любые языки в каждом из документов.

 

Триплет - утверждение о ресурсе RDF, имеет вид «субъект — предикат — объект».

Пример: «небо голубого цвета» в RDF-терминологии: субъект — «небо», предикат — «имеет цвет», объект — «голубой».

Множество триплетов (RDF-утверждений) образует ориентированный граф, в котором вершинами являются субъекты и объекты, а рёбра помечены предикатами.
 

RDF подходит для работы с распределёнными знаниями потому, что приложения (сервисы, службы, программы) могут собирать воедино RDF-файлы, размещённые в Интернете разными людьми (программами), и с лёгкостью узнавать из собранного документа даже те новые вещи, которых не было ни в одной из его частей. В RDF предусматривается два процесса, благодаря которым это осуществляется, — во-первых, объединяются документы, использующие общие языки, и во-вторых, допускается использовать любые языки в каждом из документов.

 

Для записи и передачи RDF используется несколько форматов:

  • RDF/XML — запись в виде XML-документа;

  • RDF/JSON — запись в виде JSON-данных;

  • RDFa (англ. RDF in attributes) — запись внутри атрибутов произвольного HTML- или XHTML-документа;

Для обработки RDF-ресурсов используются языки запросов: SPARQL (стандарт W3C), RQL, RDQL.

 

 

 

 

XSL
 

XSL (eXtensible Stylesheet Language) — язык стилей (преобразования и визуализации) XML-документов.

XSL включает:

  • XSLT (XSL Transformations) — язык преобразований XML-документов

  • XSL-FO (XSL Formatting Objects) — язык разметки типографских макетов и иных предпечатных материалов

  • XPath — язык путей и выражений, используемый в XSLT для доступа к отдельным частям XML-документа

 

XSL и CSS — принципиально разные языки и технологии.

Таблица стилей (Stylesheet) — это XML-документ специального вида (обычно это файл с расширением «xsl»), содержащий набор правил преобразования исходного XML-документа, написанных на языке XSLT и предназначенных для XSLT-процессора (программs, которая выполняет преобразование исходного XML-документа на основе таблицы стилей)

CSS-форматирование HTML-документа применяется браузером на клиентской стороне, а XSL-преобразование выполняется, как правило, на сервере, затем его результат отправляется в браузер клиента.

Языком, лежащим в основе XSL, является XML и XSL более гибок, универсален.

 

XSLT (как и CSS) отделяет данные от их представления и описывает каким именно образом представленный XML-документ преобразуется из одной XML-схемы в другую.

XSLT определяет стиль XML документа, используя XSLT чтобы описать, , использующий данный словарь форматирования. XSLT построен так, чтобы использоваться независимо от XSL, но не позиционируется как полноценный универсальный язык преобразований XML.

При применении таблицы стилей XSLT, состоящей из набора шаблонов, к XML-документу (исходное дерево) образуется конечное дерево, которое может быть сериализовано в виде XML-документа, XHTML-документа , HTML-документа или простого текстового файла.

Правила выбора и преобразования данных из исходного дерева пишутся на языке запросов XPath.

 

 

 

XML Schema
 

DTD (Document Type Definition — определение типа документа) - язык схем DTD (DTD schema language) и
описание схемы документа языком схем DTD.
DTD ужасен (особый синтаксис, нет поддержки пространства имен...) и заменен XML Schema.

 

XML Schema (или XSD = XML Schema definition) — язык описания структуры XML-документа.

XML Schema:

  • определяет элементы, которые могут появляться в документе

  • определяет атрибуты, которые могут появиться в документе

  • определяет, какие элементы являются дочерними элементами

  • определяет порядок дочерних элементов

  • определяет число дочерних элементов

  • определяет, является ли элемент пустым или может содержать текст

  • определяет типы данных для элементов и атрибутов

  • определяет по умолчанию и фиксированные значения элементов и атрибутов

XML Schema была задумана для определения правил, которым должен подчиняться документ? но разработана так, чтобы её можно было использовать в создании программного обеспечения для обработки документов XML.

При использовании XML Schema XML парсер может проверить не только правильность синтаксиса XML документа, но также его структуру, модель содержания и типы данных.

После проверки документа на соответствие XML Schema читающая программа может создать модель данных документа, которая включает:

  • словарь (названия элементов и атрибутов);

  • модель содержания (отношения между элементами и атрибутами и их структура);

  • типы данных.

Каждый элемент в этой модели ассоциируется с определённым типом данных, позволяя строить в памяти объект, соответствующий структуре XML-документа.

Языкам объектно-ориентированного программирования гораздо легче иметь дело с таким объектом, чем с текстовым файлом.

В XML Schema один словарь может ссылаться на другой, что позволяет использовать уже существующие словари и легче устанавливать и распространять стандарты XML структуры для определённых задач.

Файл, содержащий XML Schema, обычно имеет расширение «.xsd».

 

 

 

 

 

Частные псевдоальтернативы формата XML

 

Формат XML это формат объектов данных, описанных другими языками (программирования или разметки) с использованием языка XML для их (данных, в т.ч. лингвистических) описания и структуризации.

Формат XML позволяет контролировать то, насколько правильно составлены документы различного типа, а так же размечать:

  • объекты, которые содержат данные, классы методы (в т.ч. ActiveX и Java);

  • документы на основе других языков разметки (например, HTML, структура которого закодирована в собственном коде);

  • служебные данные, которые обеспечивают обмен информацией между узлами сети;

  • объекты, содержащие стандартную документацию с текстом и ссылками на какие-либо внешние данные.

Формат XML широко используется для обмена документами в Сети.

 

Однако, XML-реализации (приложения, икорнации) синтаксически избыточны для ряда специальных задач, которые удобнее решать на основе иных средств, например:

  • JSON (JavaScript Object Notation) — текстовый формат обмена данными, основанный на JavaScript, легко читается людьми. Лаконичен по сравнению с XML и удобен в задачах обмена данными как между браузером и сервером (AJAX) и самими серверами (программные HTTP-интерфейсы). Независимым от JavaScript и может использоваться практически с любым языком программирования.

  • YAML (рекурсивный акроним YAML Ain't Markup Language : «YAML — Не язык разметки») -  используется как формат для файлов конфигурации и описания классов, ресурсов и манифестов для пакетов приложений.

Для собственно машинной обработки текстов человекочитаемые XML-реализации (приложения, икорнации) избыточны и не эффективны (медлительны) в сравнении с бинарными языками:

  • Google Protobuf  (Protocol Buffers) - бинарный язык описания сообщений и данных, предложенный Google, как эффективная двоичная альтернатива текстовому формату XML. Protocol Buffers проще (однозначнее), компактнее (до 10 раз) и быстрее (до 100 раз) чем XML. Protocol Buffers не предназначен для чтения пользователем и представляет собой двоичный формат. Для десериализации данных необходим отдельный .proto-файл, в котором определяется формат сообщения.

  • BSON (Binary JavaScript Object Notation) — бинарный формат электронного обмена цифровыми данными, основанный на JavaScript. Более гибок, чем Protocol Buffers, но медленный...

  • USDS (Universal serialized data structures, универсальные сериализованные структуры данных) бинарный формат, использующий вместо текстовых тегов/ключей целые числа.
    Страница проекта: USDS 1.0
    Скачать библиотеку и исходный код примера можно здесь.
    Исходный код библиотеки доступен здесь.

Указанные "альтенативы" XML не являются метаязыками и сравнивать их с XML не корректно.

kmp рекомендует: Yegor Bugayenko, Stop Comparing JSON and XML

 

 

 

Serialization

 

Сериализация  — процесс перевода какой-либо структуры данных в последовательность битов.

Обратной к операции сериализации является операция десериализации (структуризации) — восстановление начального состояния структуры данных из битовой последовательности.

Сериализация используется для передачи объектов по сети и для сохранения их в файлы.

Если нужно создать распределённое приложение, разные части которого должны обмениваться данными со сложной структурой, то для типов данных, которые предполагается передавать, пишется код, который осуществляет сериализацию и десериализацию. Объект заполняется нужными данными, затем вызывается код сериализации, в результате получается, например, XML-документ. Результат сериализации передаётся принимающей стороне по, скажем, электронной почте или HTTP. Приложение-получатель создаёт объект того же типа и вызывает код десериализации, в результате получая объект с теми же данными, что были в объекте приложения-отправителя.

 

 

Всё будет XML?