XML — это расширение файла Extensible Markup Language, применяемого для создания общих информационных форматов и совместного использования как формата, так и данных во Всемирной паутине, интрасетях и в других местах с использованием стандартного текста ASCII. Это универсальный формат данных и структурированных документов с расширением XML. Как и HTML, он использует теги слова, разделенные символами «>» и «<» для структурирования данных в документе. Но что входит в структуру XML-файла?
Краткое введение в язык
Изучаемый язык (EXtensible Markup Language) начал развиваться с сентября 1996 года, при поддержке W3C, с целью создания оптимизированного инструмента для интернета. Структура XML-файла сочетает простоту HTML с выразительными возможностями своего предшественника, SGML. В его разработке приняли участие такие компании, как Microsoft, IBM, Sun Microsystems, Novell и Hewlett-Packard. Версия 1.0 была ратифицирована W3C на конференции SGML/XML, состоявшейся в Вашингтоне в декабре 1997 года. Через несколько лет XML стал языком, оказавшим наибольшее влияние на разработку приложений для публикации контента в интернете.
Редакция документов преследует следующие цели:
- Различать содержание и структуру XML-файла по представлению на бумаге или на экране.
- Уточнять устройство и информативное содержание.
- Создавать документы, которыми можно обмениваться и легко обрабатывать в разнородных компьютерных системах.
- Создание форматов, в котором метки устанавливаются в тексте документов, чтобы различать его части или элементы структуры XML-файла.
Основными характеристиками языка являются:
- Возможность описательной маркировки, с открытым набором меток. В HTML и XML метки перемежаются в документах. Основное различие между тем и другим заключается в функции этих брендов.
- Функция дифференциации информативного содержимого документов по сравнению с использованием в HTML, где метки служат для указания того, как содержимое должно просматриваться.
- С другой стороны, в то время, как HTML сообщает, какие метки можно использовать при создании документа, изучаемый язык не определяет допустимый набор меток. Но он предлагает правила создания XML-файла, которые позволяют устанавливать новые словари и наборы меток для различных типов.
- В нем установлена четкая разница между структурой документа и его представлением. Метки XML-документа ничего не указывают на то, как он должен быть представлен. Чтобы представить его на экране или на бумаге, необходимо будет создать отдельную таблицу стилей и связать ее позже с документом.
При подключении клиентского компьютера к базе данных, SQL отправляется в БД объединения использует оболочку XML для доступа к ним из файла. Они возвращаются на клиентский компьютер в виде структурированных данных, содержащихся в реляционной таблице результатов.
С помощью оболочки XML можно отображать данные из внешнего источника в реляционную схему, состоящую из набора псевдонимов. Структура документа логически эквивалентна реляционной схеме, где повторяющиеся и вложенные элементы моделируются как отдельные таблицы с внешними ключами.
Непрерывная эволюция языка
Со времени своего первоначального выхода в интернет язык XML вызвал большое количество инициатив, связанных с обменом и кодированием контента и метаданных. XML единогласно стал основным вариантом для управления и восстановления данных. Список инициатив является широким, и хотя не все из них достигли одинакового уровня принятия, существуют многочисленные примеры успешного применения языка в академической, деловой и институциональной сферах.
В течение 2004 года появились публикации новых предложений и инициатив, связанных с использованием языка. В качестве примеров можно упомянуть постоянную публикацию новых версий компьютерных приложений, предназначенных для работы с XML, разработку новых словарей или принятие языка в различных областях работы.
Extensible Markup Language имеет большую поддержку со стороны международных органов стандартизации, что позволило обеспечить высокий уровень стандартизации сферы электронной торговли между компаниями. Доказательством этого является публикация в качестве стандарта ISO спецификаций языка и недавнее обновление стандарта UDDI (универсальное описание структуры XML-файла и обнаружения). Эти два стандарта пробудили интерес к новым инвестициям в информационные технологии, который в предыдущие годы замедлился из-за недоверия к интернет-рынкам.
Расширяемый язык разметки
XML похож на HTML. Они содержат символы разметки для описания страниц или файла. HTML, однако, описывает содержание веб-страницы в основном в виде текстовых и графических изображений, только с точки зрения того, как они должны отображаться и взаимодействовать.
XML описывает в терминах содержимое того, какие данные описываются. Например, слово «phonenum», помещенное в теги разметки, может указывать, что последующими данными будет номер телефона. Файл XML может обрабатываться программой исключительно как данные, храниться с аналогичными на другом компьютере или отображаться, как файл HTML. Например, в зависимости от того, как приложение на принимающем компьютере будет обрабатывать номер телефона, оно может быть сохранено, отображено или набрано.
XML считается расширяемым, потому что, в отличие от HTML, символы разметки являются неограниченными и самоопределяющими. XML — это более простое и легкое в использовании подмножество стандарта Standard Generalized Markup Language (SGML) для создания структуры документа. Ожидается, что HTML и XML будут использоваться вместе во многих веб-приложениях. Например, разметка XML может отображаться на странице HTML.
Псевдонимы соответствия
Псевдонимы, соответствующие XML-документу, организованы в древовидную структуру, где дочерние псевдонимы соотносятся с элементами, соответствующие родительскому. Когда они повторяются или имеют дифференцированные идентификаторы со сложными структурами, можно указать разные псевдонимы для каждого вложенного элемента.
Псевдонимы родители и дети связаны первичными и внешними ключами, генерируемыми оболочкой. Выражения XPath используются для корреляции документа XML с реляционной схемой, состоящей из набора псевдонимов. XPath — это механизм адресации для идентификации частей файла XML, например, групп узлов и атрибутов в дереве документа XML.
Основной его синтаксис аналогичен адресации файловой системы. Каждый псевдоним определяется выражением XPath, которое идентифицирует элементы представляющие отдельные кортежи, и набор выражений, устанавливающих, как извлекать значения столбцов каждого элемента.
XML-документа соотносится с набором псевдонимов, а родительские и дочерние отношения устанавливаются с использованием внешнего и первичного ключей. Выражения XPath используются для определения отдельных кортежей, и столбцов в каждом элементе документа, а также способ выполнения запроса в документе XML после его регистрации в системе объединения.
Древовидная структура образца документа
Документы XML обязаны иметь корневой элемент — родительский для всех остальных. Они могут содержать вложенные элементы, текст и атрибуты. Дерево, представленное таким документом, начинается с элемента-корня и ветвится до самого низшего уровня элементов. Хотя нет единого мнения о терминологии, используемой в деревьях XML, W3C выпустил по крайней мере две стандартные терминологии:
- Терминология, используемая в модели данных XPath.
- Терминология, используемая в информационном наборе XML.
XPath определяет синтаксис с именем выражений, который идентифицирует один или несколько внутренних компонентов элементов и атрибутов документа XML. XPath широко используется для доступа к XML-кодированным данным.
Информационный набор XML описывает абстрактную модель данных для документов в терминах информационных элементов. Он часто используется в спецификациях собственного языка для удобства описания ограничений на конструкции, допускаемые ими.
Обмен данными
Возможность отделять хранение данных от просмотра означает, что с XML можно хранить свои данные в одном формате и просматривать их различными способами, не меняя способ хранения. Язык может описывать то, что представляют данные. Это означает, что можно описать, как их отображать — цвет, шрифт и форматирование, и что они представляют, например, сигнал, полученный с осциллографа, значение индикатора тревоги и многое другое.
Вместе эти преимущества позволяют хранить любую информацию в едином формате хранения, которые можно определить для приложений. Также можно получить доступ к ним в любом другом приложении, просто зная, что оно читает файлы XML. Это полезно на одном компьютере для обмена данными между приложениями, но реальное преимущество этой функциональности заключается в мультикомпьютерной среде.
Можно использовать следующий пример в качестве модели того, как создать файл-XML и отобразить данные из него. Предположим, завершено получение ряда точек данных с тестовой платформы и проведен некоторый базовый анализ этих данных.
Далее потребуется записать все эти необработанные данные вместе с анализом в файл. Чтобы вывести их в файл, необходимо спланировать, как должен выглядеть XML-файл, который нужно создать. С помощью этой схемы записываются все данные и результаты анализа в файл XML. Возможность настраивать поля в файле, такие как «данные», «среднее», «max» и «min», является частью гибкости и мощи XML.
Разработка тестовых приложений
Когда у пользователя есть файл XML, который содержит полезные данные, рано или поздно, потребуется их применить. Для этого можно легко отобразить их в любом текстовом редакторе или открыть в браузере с поддержкой XML, например, в Microsoft Internet Explorer. Если нужно отобразить их не просто в виде текста, можно использовать все — от приложений базы данных до веб-браузеров.
Для чтение XML-файла этим приложениям нужна таблица стилей. Используя таблицы стилей, можно просматривать одни и те же данные разными способами. Например одну таблицу стилей для отображения информации для клиентов и другую для представления информации специалистам, которым может потребоваться конкретная информация для устранения проблемы. И также можно использовать третью таблицу стилей для загрузки всех данных в общую систему БД предприятия.
При выполнении этой задачи заранее нужно будет создать три разных метода вывода данных. Используя XML и таблицы стилей, нужно всего лишь создать один файл данных, который можно просматривать в нескольких форматах, соответствующих конкретным задачам. Более того, больше не нужно указывать тип приложения, которое будет просматривать данные, потому что конечный пользователь может создать свою собственную таблицу стилей для удовлетворения потребностей приложения, как только будет предоставлен файл XML.
XML определит общекорпоративные стандарты данных, поэтому разработчику нужно будет спроектировать только один файл схемы, который может использовать, применяя соответствующие части схемы в соответствии с потребностями своего приложения. Затем остается только разработать таблицу стилей для каждого представления данных.
С помощью этой системы тестовые и измерительные программы могут легко обмениваться данными с любым приложением на предприятии и каждое из них может создавать данные и отображать их в другом.
Механизм XDTO в 1С
Создатели 1С, ставя перед собой задачу обмена данных с использованием изучаемого языка, разработали механизм — XDTO для объектов передачи структуры XML-файла 1С. Каковы преимущества? Версия программы 8.1 и выше позволяет обмен информацией с системами, не углубляясь в темы создания XML-файла, решая большинство проблем 1С. И также можно отправлять только необходимую информацию для образования документа. Для этого программисту потребуется заранее выполнить некоторые процедуры.
Для загрузки файла XML с использованием XDTO, нужно передать структуру файла 1C с помощью набора схем, созданных в текстовом редакторе или использовать специальное ПО. Результатом должен быть файл, описывающий уникальный тип и структуру, использующих в XML. Прежде чем прочитать или писать последний файл, программист загружает полученную конфигурацию в области «Пакеты XDTO». Для воссоздания у пользователя должен быть основной элемент и вложения с атрибутами. Полученная схема экспортируется в файл XSD и отправляется совместно с изучаемым, таким образом формируя пакет XDTO.
Самое большое различие между использованием для отображения данных в интернете и другими технологиями заключается в том, что перед тем как создать XML-файл сначала необходимо использовать его для отображения данных на веб-странице, которое аналогично использованию электронной таблицы.
Распространенные ошибки
Язык XML настолько прост, что его может освоить практически каждый. Широкий доступ является ключевым преимуществом языка. Недостатком XML является то, что правила, которые существуют в языке, являются абсолютными. Синтаксические анализаторы XML оставляют мало места для ошибок. Независимо от того, является ли разработчик новичком или много лет работал на языке, одни и те же распространенные ошибки появляются снова и снова. Рассмотрим их, чтобы не допускать.
Итак, распространенные ошибки структуры XML файла:
- Нужно указать язык с помощью оператора объявления, чтобы браузер понимал код, на котором он написан.
- XML работает в иерархическом стиле. Это означает, что все дочерние элементы должны иметь родителей, строки данных должны быть между тегами элемента, комментарии должны быть внутри тегов.
- XML требует, чтобы были закрыты все теги. В HTML можно избежать случайного открытия тега, и некоторые браузеры даже закрывают теги при отображении страницы. Документ XML с открытым тегом всегда будет выдавать ошибку.
- Поскольку изучаемый язык работает в древовидной структуре, каждая страница должна иметь корневой элемент на вершине дерева. Имя элемента не имеет значения, но оно должно быть там перед тем, как получить структуру XML-файла. Иначе последующие теги не будут должным образом вложены.
- XML интерпретирует 50 пробелов так же, как и один. Язык собирает несколько пробелов, известных как пробельные символы, и скомпактирует их в один. Это не имеет ничего общего с визуальным отображением или дизайном. Пробел, используемый для выравнивания текста, ничего не значит в коде XML, поэтому если разработчик добавляет много лишних пробелов, чтобы попытаться продемонстрировать какой-то визуальный макет или дизайн, он просто теряет время.
XML предлагает хорошее решение для обмена данными для широкого круга заинтересованных потребителей в удобном и простом в использовании формате. Такие приложения, как 1 С, продолжают интегрировать новые технологии, такие как XML, чтобы предоставить пользователю новые возможности обработки данных.
Иван Фролов
12 марта, 2019