Содержание

XML для начинающих

Вероятно, вы слышали о языке XML и вам известно множество причин, по которым его необходимо использовать в вашей организации. Но что именно представляет собой XML? В этой статье объясняется, что такое XML и как он работает.

В этой статье

Пометки, разметка и теги

Отличительные черты XML

Правильно сформированные данные

Схемы

Преобразования

XML в системе Microsoft Office

Пометки, разметка и теги

XML помогает понять идею пометки данных. Люди создавали документы много лет и на то время, пока они их помечали. Например, учителя могут постоянно пометить учебные работы. Учащиеся могут перемещать абзацы, уточнять предложения, исправлять опечатки и так далее. Пометка документа — это то, как мы определяем структуру, смысл и внешний вид сведений в документе. Если вы когда-либо использовали функцию «Отслеживание изменений» в Microsoft Office Word, то использовали компьютеризированную форму пометки.

В мире информационных технологий термин «пометка» превратился в термин «разметка». При разметке используются коды, называемые тегами (или иногда токенами), для определения структуры, визуального оформления и — в случае XML — смысла данных.

Текст этой статьи в формате HTML является хорошим примером применения компьютерной разметки. Если в Microsoft Internet Explorer щелкнуть эту страницу правой кнопкой мыши и выбрать команду Просмотр HTML-кода, вы увидите читаемый текст и теги HTML, например <p> и <h3>. В HTML- и XML-документах теги легко распознать, поскольку они заключены в угловые скобки. В исходном тексте этой статьи теги HTML выполняют множество функций, например определяют начало и конец каждого абзаца (<p> … </p>) и местоположение рисунков.

Отличительные черты XML

Документы в форматах HTML и XML содержат данные, заключенные в теги, но на этом сходство между двумя языками заканчивается. В формате HTML теги определяют оформление данных — расположение заголовков, начало абзаца и т. д. В формате XML теги определяют структуру и смысл данных — то, чем они являются.

При описании структуры и смысла данных становится возможным их повторное использование несколькими способами. Например, если у вас есть блок данных о продажах, каждый элемент в котором четко определен, то можно загрузить в отчет о продажах только необходимые элементы, а другие данные передать в бухгалтерскую базу данных.

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

Учитывайте при работе следующее:

  • HTML нельзя использовать вместо XML. Однако XML-данные можно заключать в HTML-теги и отображать на веб-страницах.

  • Возможности HTML ограничены предопределенным набором тегов, общим для всех пользователей.

  • Правила XML разрешают создавать любые теги, требуемые для описания данных и их структуры. Допустим, что вам необходимо хранить и совместно использовать сведения о домашних животных. Для этого можно создать следующий XML-код:

    
    <?xml version="1.
    0"?> <CAT> <NAME>Izzy</NAME> <BREED>Siamese</BREED> <AGE>6</AGE> <ALTERED>yes</ALTERED> <DECLAWED>no</DECLAWED> <LICENSE>Izz138bod</LICENSE> <OWNER>Colin Wilcox</OWNER> </CAT>

Как видно, по тегам XML понятно, какие данные вы просматриваете. Например, ясно, что это данные о коте, и можно легко определить его имя, возраст и т. д. Благодаря возможности создавать теги, определяющие почти любую структуру данных, язык XML является расширяемым.

Но не путайте теги в данном примере с тегами в HTML-файле. Например, если приведенный выше текст в формате XML вставить в HTML-файл и открыть его в браузере, то результаты будут выглядеть следующим образом:

Izzy Siamese 6 yes no Izz138bod Colin Wilcox

Веб-браузер проигнорирует теги XML и отобразит только данные.

Правильно сформированные данные

Вероятно, вы слышали, как кто-то из ИТ-специалистов говорил о «правильно сформированном» XML-файле. Правильно сформированный XML-файл должен соответствовать очень строгим правилам. Если он не соответствует этим правилам, XML не работает. Например, в предыдущем примере каждый открывающий тег имеет соответствующий закрывающий тег, поэтому в данном примере соблюдено одно из правил правильно сформированного XML-файла. Если же удалить из файла какой-либо тег и попытаться открыть его в одной из программ Office, то появится сообщение об ошибке и использовать такой файл будет невозможно.

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

XML не зависит от платформы, и это значит, что любая программа, созданная для использования XML, может читать и обрабатывать XML-данные независимо от оборудования или операционной системы. Например, при применении правильных тегов XML можно использовать программу на настольном компьютере для открытия и обработки данных, полученных с мейнфрейма. И, независимо от того, кто создал XML-данные, с ними данными можно работать в различных приложениях Office. Благодаря своей совместимости XML стал одной из самых популярных технологий обмена данными между базами данных и пользовательскими компьютерами.

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

Схемы

Не пугайтесь термина «схема». Схема — это просто XML-файл, содержащий правила для содержимого XML-файла данных. Файлы схем обычно имеют расширение XSD, тогда как для файлов данных XML используется расширение XML.

Схемы позволяют программам проверять данные. Они формируют структуру данных и обеспечивают их понятность создателю и другим людям. Например, если пользователь вводит недопустимые данные, например текст в поле даты, программа может предложить ему исправить их. Если данные в XML-файле соответствуют правилам в схеме, для их чтения, интерпретации и обработки можно использовать любую программу, поддерживающую XML. Например, как показано на приведенном ниже рисунке, Excel может проверять данные <CAT> на соответствие схеме CAT.

Схемы могут быть сложными, и в данной статье невозможно объяснить, как их создавать. (Кроме того, скорее всего, в вашей организации есть ИТ-специалисты, которые знают, как это делать.) Однако полезно знать, как выглядят схемы. Следующая схема определяет правила для набора тегов <CAT> .

.. </CAT>:


<xsd:element name="CAT">  
  <xsd:complexType>  
    <xsd:sequence>
      <xsd:element name="NAME" type="xsd:string"/>
      <xsd:element name="BREED" type="xsd:string"/>
      <xsd:element name="AGE" type="xsd:positiveInteger"/>
      <xsd:element name="ALTERED" type="xsd:boolean"/>
      <xsd:element name="DECLAWED" type="xsd:boolean"/>
      <xsd:element name="LICENSE" type="xsd:string"/>
      <xsd:element name="OWNER" type="xsd:string"/>        
    </xsd:sequence>
  </xsd:complexType>
</xsd:element>

Не беспокойтесь, если в примере не все понятно. Просто обратите внимание на следующее:

  • Строковые элементы в приведенном примере схемы называются объявлениями. Если бы требовались дополнительные сведения о животном, например его цвет или особые признаки, то специалисты отдела ИТ добавили бы к схеме соответствующие объявления. Систему XML можно изменять по мере развития потребностей бизнеса.

  • Объявления являются мощным средством управления структурой данных. Например, объявление <xsd:sequence> означает, что теги, такие как <NAME> и <BREED>, должны следовать в указанном выше порядке. С помощью объявлений можно также проверять типы данных, вводимых пользователем. Например, приведенная выше схема требует ввода положительного целого числа для возраста кота и логических значений (TRUE или FALSE) для тегов ALTERED и DECLAWED.

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

Преобразования

Как говорилось выше, XML также позволяет эффективно использовать и повторно использовать данные. Механизм повторного использования данных называется преобразованием XSLT (или просто преобразованием).

Вы (или ваш ИТ-отдел) можете также использовать преобразования для обмена данными между серверными системами, например между базами данных. Предположим, что в базе данных А данные о продажах хранятся в таблице, удобной для отдела продаж. В базе данных Б хранятся данные о доходах и расходах в таблице, специально разработанной для бухгалтерии. База данных Б может использовать преобразование, чтобы принять данные от базы данных A и поместить их в соответствующие таблицы.

Сочетание файла данных, схемы и преобразования образует базовую систему XML. На следующем рисунке показана работа подобных систем. Файл данных проверяется на соответствие правилам схемы, а затем передается любым пригодным способом для преобразования. В этом случае преобразование размещает данные в таблице на веб-странице.

В следующем примере кода показан один из способов написания преобразования. Она загружает данные <CAT> в таблицу на веб-странице. Опять же, суть примера не в том, чтобы показать, как написать преобразование, а в том, чтобы показать одну форму, которую может взять преобразование.


<?xml version="1.0"?>
<xsl:stylesheet version="1.0"> 
<TABLE>
  <TR>
    <TH>Name</TH>
    <TH>Breed</TH>
    <TH>Age</TH>
    <TH>Altered</TH>
    <TH>Declawed</TH>    
    <TH>License</TH>
    <TH>Owner</TH>
  </TR>
  <xsl:for-each select="CAT">
  <TR ALIGN="LEFT" VALIGN="TOP">
    <TD>
      <xsl:value-of select="NAME"/>
    </TD>
    <TD>
      <xsl:value-of select="BREED"/>
    </TD>
    <TD>
      <xsl:value-of select="AGE"/>
    </TD>
    <TD>
      <xsl:value-of select="ALTERED"/>
    </TD>
    <TD>
      <xsl:value-of select="DECLAWED"/>
    </TD>
    <TD>
      <xsl:value-of select="LICENSE"/>
    </TD>
    <TD>
      <xsl:value-of select="OWNER"/>
    </TD>
  </TR>
</xsl:for-each>
</TABLE>

В этом примере показано, как может выглядеть текст одного из типов преобразования, но помните, что вы можете ограничиться четким описанием того, что вам нужно от данных, и это описание может быть сделано на вашем родном языке. Например, вы можете пойти в отдел ИТ и сказать, что необходимо напечатать данные о продажах для конкретных регионов за последние два года, и что эти сведения должны выглядеть так-то и так-то. После этого специалисты отдела могут написать (или изменить) преобразование, чтобы выполнить вашу просьбу.

Корпорация Майкрософт и растущее число других компаний создают преобразования для различных задач, что делает использование XML еще более удобным. В будущем, скорее всего, можно будет скачать преобразование, отвечающее вашим потребностям без дополнительной настройки или с небольшими изменениями. Это означает, что со временем использование XML будет требовать все меньше и меньше затрат.

XML в системе Microsoft Office

Профессиональные выпуски Office обеспечивают всестороннюю поддержку XML. Начиная с Microsoft Office 2007, в Microsoft Office используются форматы файлов на основе XML, например DOCX, XLSX и PPTX. Поскольку XML-данные хранятся в текстовом формате вместо запатентованного двоичного формата, ваши клиенты могут определять собственные схемы и использовать ваши данные разными способами без лицензионных отчислений. Дополнительные сведения о новых форматах см. в форматах Open XML и расширениях имен файлов. К другим преимуществам относятся:

  • Меньший размер файлов. Новый формат использует ZIP и другие технологии сжатия, поэтому размер файла на 75 процентов меньше, чем в двоичных форматах, применяемых в более ранних версиях Office.

  • Более простое восстановление данных и большая безопасность. Формат XML может быть легко прочитан пользователем, поэтому если файл поврежден, его можно открыть в Блокноте или другой программе для просмотра текста и восстановить хотя бы часть данных. Кроме того, новые файлы более безопасны, потому что они не могут содержать код Visual Basic для приложений (VBA). Если новый формат используется для создания шаблонов, то элементы ActiveX и макросы VBA находятся в отдельном, более безопасном разделе файла. Кроме того, можно удалять личные данные из документов с помощью таких средств, как инспектор документов. Дополнительные сведения об использовании инспектора документов см. в статье «Удаление скрытых и персональных данных при проверке документов».

Пока все в хорошем, но что делать, если у вас есть данные XML без схемы? У программ Office, которые поддерживают XML, есть свои подходы к работе с данными. Например, Excel выдаст схему, если открыть XML-файл, который еще не имеет. После этого Excel может загрузить эти данные в XML-таблицу. Для сортировки, фильтрации данных и добавления вычислений к данным можно использовать XML-списки и таблицы.

Включение средств XML в Office

По умолчанию вкладка «Разработчик» не отображается. Ее необходимо добавить на ленту для использования команд XML в Office.

Что такое XML

Язык XML предназначен для хранения и передачи данных. HTML же предназначен для отображения данных.

Прежде чем продолжить, убедитесь, что вы обладаете базовыми знаниями в HTML. Если вы не знаете что такое HTML, то разобраться в этом вам поможет учебник HTML для начинающих. Итак,

Что такое XML?

  • XML — аббревиатура от англ. eXtensible Markup Language (пер. расширяемый язык разметки).
  • XML – язык разметки, который напоминает HTML.
  • XML предназначен для передачи данных, а не для их отображения.
  • Теги XML не предопределены. Вы должны сами определять нужные теги.
  • XML описан таким образом, чтобы быть самоопределяемым.

Разница между XML и HTML

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

XML ничего не делает

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

Следующий пример представляет некую заметку от Джени к Тови, сохраненную в формате XML:


<?xml version="1.0" encoding="UTF-8"?>
<note>
   <to>Tove</to>
   <from>Jani</from>
   <heading>Напоминание</heading>
   <body>Не забудь обо мне в эти выходные!</body>
</note>

Приведенная запись вполне самоописательна. Здесь есть информация об отправителе и получателе. Также присутствуют данные заголовка и само сообщение. И при всем при этом этот документ XML не делает ничего. Это просто информация, обернутая в теги. Кто-то должен написать программу, которая будет отсылать, получать и отображать эти данные.

В XML вы изобретаете свои собственные теги

Теги в вышеприведенном примере (например, <to> и <from>) не определяются никакими стандартами XML. Эти теги были «изобретены» автором этого XML документа.

Все потому, что в языке XML нет предопределенных тегов.

Так, в HTML все используемые теги предопределены. HTML документы могут использовать только те теги, которые определяются в стандартах HTML (<p>, <li> и т. д.).

XML позволяет автору определять свои языковые теги и свою структуру документа.

XML – это не замена HTML

XML – это дополнение HTML.

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

XML – это программно- и аппаратно-независимый инструмент для транспортировки информации.

XML – везде

В настоящее время XML также важен для сети, как когда-то был важен HTML для рождения современного Интернета. XML – это общий инструмент передачи данных между всеми видами приложений.

Как используется XML Вверх Учебник XML для начинающих

что это такое и чем открыть XML-документ

Формат xml относится к файлам расширяемого языка разметки. Представляет собой обычный текстовый документ, структура которого отображает описание документа и пользовательские теги. Привлекательная особенность xml в том, что он позволяет прочитать и понять содержащуюся информацию и для этого совсем не обязательно знать, в какой программе файл создавался.

Описание

Язык разметки xml предназначен для удобного кодирования и чтения информации машинным и ручным способом. Структура файла и его параметры прописываются с помощью тегов, атрибутов и препроцессоров. По назначению и решаемым задачам он напоминает html, но проще и понятнее в использовании, а теги устанавливают сами разработчики. Его главное преимущество — это читаемость. Например, для обозначения жирного текста в xml достаточно написать <Жирный></Жирный>, тогда как для html синтаксис жёстко прописан и запись будет выглядеть так: <b></b>. Так, формат xml часто используют для передачи данных пользователи программного обеспечения 1С при создании промежуточного файла или сотрудники Пенсионного Фонда РФ. Основные сферы применения формата:

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

Особенности языка

Обеспечить открытие файлов xml универсальными средствами, без использования дополнительных инструментов, позволяет принцип кодировки Юникод (UTF-8 и UTF-16). Благодаря этому документ доступен для ознакомления, в нём несложно разобраться с символами, содержанием прописанных инструкций и последовательностью запускаемых событий. Язык разметки отличается гибкостью и легко подстраивается под нужды пользователя. Главное — знать и соблюдать основные правила. Начало документа xml, его первая строка должны содержать обязательную конструкцию, указывающую на версию xml, принцип кодировки и подключаемые для этого библиотеки. Этот язык является универсальным и не относится к какой-либо строго определённой программе. Открыть документ в виде читаемого текста, а не набора непонятных символов, совсем не сложно.

Программы для открытия xml

Популярный и активно используемый формат классифицируется как текст и без труда открывается в простом текстовом редакторе. Если пользователь ещё не знаком с подобными файлами и не знает, чем открыть xml, то система может сделать это по умолчанию. Однако следует отметить, что всем известный MS Office Word для этих целей не подходит.

  • Notepad++. Признан лучшим текстовым редактором для работы с документами xml. Программа обладает расширенным функционалом, дружественным интерфейсом и максимально удобным для пользователя способом отображения на экране. Дополнительная подсветка синтаксиса существенно облегчает и упрощает просмотр. Полезное и удобное приложение входит в перечень обязательных для установки на любом компьютере и его возможности стоит попробовать.
  • Блокнот Windows. Вполне подходит для быстрого просмотра и редактирования XML-файлов. Простенькая программка относится к системным. Для открытия документа в блокноте достаточно вызвать контекстное меню, щёлкнув по файлу правой кнопкой мыши. Осталось перейти в «Открыть с помощью…» и в открывшемся списке программ выбрать «Блокнот». Возможности приложения минимальные и здесь не будет подсветки синтаксиса, облегчающей восприятие написанной информации. Но для оперативной обработки такой способ вполне подойдёт.
  • Браузер. Для чтения и ознакомления с файлами xml успешно используется любой браузер. Возможности создавать документ и вносить правки у него нет, но в информационных целях его можно использовать. Подойдёт самый простой Internet Explorer, «Яндекс» или Google. Если открытие файла не произошло автоматически, то нужно повторить предыдущую процедуру для вызова окна «Открыть с помощью». В списке приложений выбрать свой любимый веб-обозреватель. В некоторых случаях отображение информации происходит согласно тегам. Для «комфортного» представления достаточно воспользоваться комбинацией клавиш CTRL+ U и на экране появится исходный код документа. Несложно заметить, что картинка более вменяемая, а информация xml-файла представлена в удобном для чтения виде, по сравнению со стандартным блокнотом.

Вывод. Для открытия xml-файлов существует несколько программных возможностей, заложенных в самой ОС Windows. Новичкам этого вполне достаточно, а продвинутые пользователи знают, что в сети есть множество доступных онлайн-сервисов для работы с файлами с расширением xml.

(Голосов: 21, Рейтинг: 4.9)

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

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

Структура документа

Простейший XML- документ может выглядеть так, как это показано в Примере 1
Пример 1

<?xml version="1.0"?>
<list_of_items>
<item><first/>Первый</item>
<item>Второй <sub_item>подпункт 1</sub_item></item>
<item>Третий</item>
<item><last/>Последний</item>
</list_of_items>

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

Тело документа XML состоит из элементов разметки (markup) и непосредственно содержимого документа — данных (content). XML — тэги предназначены для определения элементов документа, их атрибутов и других конструкций языка. Более подробно о типах применяемой в документах разметки мы поговорим чуть позже.

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

Правила создания XML- документа

В общем случае XML- документы должны удовлетворять следующим требованиям:

  • В заголовке документа помещается объявление XML, в котором указывается язык разметки документа, номер его версии и дополнительная информация
  • Каждый открывающий тэг, определяющий некоторую область данных в документе обязательно должен иметь своего закрывающего «напарника», т.е., в отличие от HTML, нельзя опускать закрывающие тэги
  • В XML учитывается регистр символов
  • Все значения атрибутов, используемых в определении тэгов, должны быть заключены в кавычки
  • Вложенность тэгов в XML строго контролируется, поэтому необходимо следить за порядком следования открывающих и закрывающих тэгов
  • Вся информация, располагающаяся между начальным и конечными тэгами, рассматривается в XML как данные и поэтому учитываются все символы форматирования ( т.е. пробелы, переводы строк, табуляции не игнорируются, как в HTML)

Если XML- документ не нарушает приведенные правила, то он называется формально-правильным и все анализаторы, предназначенные для разбора XML- документов, смогут работать с ним корректно.

Однако кроме проверки на формальное соответствие грамматике языка, в документе могут присутствовать средства контроля над содержанием документа, за соблюдением правил, определяющих необходимые соотношений между элементами и формирующих структуру документа. Например, следующий текст, являясь вполне правильным XML- документом, будет абсолютно бессмысленным:

<country><title>Russia</title><city><title>Novosibirsk</country>
</title></city>

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

На сегодняшний день существует два способа контроля правильности XML- документа: DTD — определения (Document Type Definition) и схемы данных (Semantic Schema). Более подробно об использовании DTD и схемах будет описано в следующих разделах. В отличии от SGML, определение DTD- правил в XML не является необходимостью, и это обстоятельство позволяет нам создавать любые XML- документы, не ломая пока голову над весьма непростым синтаксисом DTD.

Конструкции языка

Содержимое XML- документа представляет собой набор элементов, секций CDATA, директив анализатора, комментариев, спецсимволов, текстовых данных. Рассмотрим каждый из них подробней.

Элементы данных

Элемент — это структурная единица XML- документа. Заключая слово rose в в тэги , мы определяем непустой элемент, называемый , содержимым которого является rose. В общем случае в качестве содержимого элементов могут выступать как просто какой-то текст, так и другие, вложенные, элементы документа, секции CDATA, инструкции по обработке, комментарии, — т.е. практически любые части XML- документа.

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

<flower>rose</flower>
<city>Novosibirsk</city>
а эти — нет:
<rose>
<flower>
rose

Набором всех элементов, содержащихся в документе, задается его структура и определяются все иерархическое соотношения. Плоская модель данных превращается с использованием элементов в сложную иерархическую систему со множеством возможных связей между элементами. Например, в следующем примере мы описываем месторасположение Новосибирских университетов (указываем, что Новосибирский Университет расположен в городе Новосибирске, который, в свою очередь, находится в России), используя для этого вложенность элементов XML :

<country>
<cities-list>
<city>
<title>Новосибирск</title>
<universities-list>
<university>
<title>Сибирский Государственный Университет Телекоммуникаций и Информатики</title>
<address URL="www.neic.nsk.su"/>
</university>  
<university>
<title>Новосибирский Государственный Университет</title>
<address URL="www.nsu.ru"/>
</university>  
</universities-list>
</city>
<city>
<title>Москва</title>
<universities-list>
<university>
<title>Московский Государственный Университет</title>
<address URL="www.msu.ru"/>
</university>  
</universities-list>
</city>
</cities-list>
</country>

Производя в последствии поиск в этом документе, программа клиента будет опираться на информацию, заложенную в его структуру — используя элементы документа. Т.е. если, например, требуется найти нужный университет в нужном городе, используя приведенный фрагмент документа, то необходимо будет просмотреть содержимое конкретного элемента <university>, находящегося внутри конкретного элемента <city>. Поиск при этом, естественно, будет гораздо более эффективен, чем нахождение нужной последовательности по всему документу.

В XML документе, как правило, определяется хотя бы один элемент, называемый корневым и с него программы-анализаторы начинают просмотр документа. В приведенном примере этим элементом является <country>

В некоторых случаях тэги могут изменять и уточнять семантику тех или иных фрагментов документа, по разному определяя одну и ту же информацию и тем самым предоставляя приложению-анализатору этого документа сведения о контексте использования описываемых данных. Например, прочитав фрагмент <river>Lena</river> мы можем догадаться, что речь в этой части документа идет о реке, а вот во фрагменте <name>Lena</name> — о имени.

В случае, если элемент не имеет содержимого, т.е. нет данных, которые он должен определять, он называется пустым. Примером пустых элементов в HTML могут служить такие тэги HTML, как <br>, <hr>, <img>;. Необходимо только помнить, что начальный и конечные тэги пустого элемента как бы объединяется в один, и надо обязательно ставить косую черту перед закрывающей угловой скобкой (например, <empty/>;)

Комментарии

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

Атрибуты

Если при определении элементов необходимо задать какие-либо параметры, уточняющие его характеристики, то имеется возможность использовать атрибуты эдлемента. Атрибут — это пара «название» = «значение», которую надо задавать при определении элемента в начальном тэге. Пример:

<color RGB="true">#ff08ff</color>
<color RGB="false">white</color>
или
<author id=0>Ivan Petrov</autho>
Примером использования атрибутов в HTML является описание элемента <font>:
 
<font color="white" name="Arial">Black</font>

Cпециальные символы

Для того, чтобы включить в документ символ, используемый для определения каких-либо конструкций языка (например, символ угловой скобки) и не вызвать при этом ошибок в процессе разбора такого документа, нужно использовать его специальный символьный либо числовой идентификатор. Например, < , > » или $(десятичная форма записи), &#x1a (шестнадцатеричная) и т.д. Строковые обозначения спецсиволов могут определяться в XML документе при помощи компонентов (entity).

Директивы анализатора

Инструкции, предназначенные для анализаторов языка, описываются в XML документе при помощи специальных тэгов — и ?>;. Программа клиента использует эти инструкции для управления процессом разбора документа. Наиболее часто инструкции используются при определении типа документа (например, Xml version=»1.0″?>) или создании пространства имен.

CDATA

Чтобы задать область документа, которую при разборе анализатор будет рассматривать как простой текст, игнорируя любые инструкции и специальные символы, но, в отличии от комментариев, иметь возможность использовать их в приложении, необходимо использовать тэги . Внутри этого блока можно помещать любую информацию, которая может понадобится программе- клиенту для выполнения каких-либо действий (в область CDATA, можно помещать, например, инструкции JavaScript). Естественно, надо следить за тем, чтобы в области, ограниченной этими тэгами не было последовательности символов ]].




Как использовать xml файл. Зачем нужен язык XML? Преобразование XML данных

Extensible Markup Language (XML). Это действительно просто текстовые файлы, которые используют пользовательские теги для описания структуры и других функций документа.

Что такое XML

XML – это язык разметки, созданный консорциумом World Wide Web Consortium (W3C) для определения синтаксиса кодирования документов, которые могут быть прочитаны людьми и машинами. Он делает это с помощью тегов, которые определяют структуру документа, а также то, как документ должен храниться и транспортироваться.

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

Однако, отличие XML в том, что он является расширяемым. У XML нет предопределенного языка разметки, как у HTML. Вместо этого, XML позволяет пользователям создавать свои собственные символы разметки для описания контента, формируя неограниченный и самоопределяемый набор символов.

По сути, HTML – это язык, который фокусируется на представлении контента, в то время как XML – это выделенный язык описания данных, используемый для хранения данных.

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

  • RSS и ATOM описывают, как приложения должны обрабатывать веб-каналы.
  • Microsoft .NET использует XML для своих файлов конфигурации.
  • Microsoft Office использует XML в качестве основы для структуры документа.

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

Как открыть XML-файл

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

Используйте текстовый редактор при регулярной работе с XML

Поскольку XML-файлы – это просто текстовые файлы, их можно открыть в любом текстовом редакторе. Однако, многие текстовые редакторы, такие как Notepad, просто не предназначены для отображения XML-файлов с их правильной структурой. Это может быть полезно для быстро ознакомления с содержанием XML-файла. Но, существуют более удобные инструменты для работы с ними.


Использование веб-браузера для просмотра XML-файла

Если Вам не нужно редактировать XML-файл, но просто нужно просмотреть содержимое, с этой задачей справиться ваш браузер. Более того, ваш веб-браузер, скорее всего, уже настроен как стандартное средство просмотра XML-файлов. Таким образом, двойной щелчок XML-файла должен открыть его в браузере.

Если нет, вы можете щелкнуть правой кнопкой мыши файл, чтобы найти варианты его открытия с любым другим приложением. Просто выберите ваш веб-браузер из списка программ.

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

Использование онлайн-редактора для XML-файлов

Если вы хотите редактировать случайный XML-файл и не хотите загружать новый текстовый редактор, или Вам нужно конвертировать XML-файл в другой формат , существует несколько достойных онлайн-редакторов XML, доступных бесплатно.

TutorialsPoint.com , XMLGrid.net и CodeBeautify.org – позволяют просматривать и редактировать XML-файлы. После завершения редактирования можно загрузить измененный XML-файл или даже преобразовать его в другой формат.

Для примера используем CodeBeautify.org. Страница разделена на три раздела. Слева находится XML-файл, с которым вы работаете. В середине вы найдете несколько функций. Справа вы увидите результаты некоторых вариантов, которые вы можете выбрать.

Например, на рисунке ниже слева находится наш полный XML-файл, а на панели результатов отображается представление в виде дерева, так как мы нажали кнопку Tree View посередине.

Используйте кнопку Browse для загрузки XML-файла с вашего компьютера или кнопку Load URL для извлечения XML из интернет-источника

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

Beatify отображает ваши данные в аккуратном, легко читаемом виде.

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

И, наконец, Вы можете использовать кнопку XML to JSON для преобразования XML в формат JSON, и кнопку Export to CSV для сохранения данных в виде файла значений, разделенных запятыми, или кнопку Download для загрузки любых изменений, которые вы сделали в новом XML-файле.

Достаточно часто многие пользователи современных компьютерных систем и программных продуктов разного типа сталкиваются с файлами, имеющими расширение.xml. Многие просто не представляют себе, что это за документ, как его открыть. Сейчас будет рассмотрено, Заодно выясним, что же он собой представляет и для чего нужен.

Что представляет собой файл XML

Начнем, пожалуй, с того, что, с точки зрения современных компьютерных технологий и программ, используемых для создания документов такого типа, представляет собой текстовый файл, в котором прописаны команды универсального расширяемого языка (Extensible Markup Language), который достаточно сильно напоминает известное средство разметки HTML.

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

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

Вид XML-файла

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

Об основных командах самого языка речь сейчас не идет, поскольку рядовому юзеру такие сведения и не нужны. Единственное, что можно отметить, так это только то, что определенного количества используемых для описания объекта элементов в данном формате не существует: сколько нужно, столько и задается.

Чем открыть стандартный XML-формат

Теперь посмотрим, как открыть файл XML. Как уже, наверное, многие поняли, это файл текстовый, а значит, проще всего использовать для его просмотра или редактирования любой, пусть даже самый примитивный редактор. Да хоть тот же «Блокнот» из стандартного набора Windows.

Однако здесь не все так просто. Дело в том, что по двойному клику файл без задания соответствующей ассоциации с какой-либо программой не откроется. В лучшем случае система предложит список наиболее подходящих приложений. Можно выбрать программу по своему усмотрению, а заодно поставить галочку напротив пункта постоянного использования выбранного приложения для всех файлов такого типа.

Можно поступить иначе, используя правый клик на файле с последующим выбором команды «Открыть с помощью…», после чего, опять же, выбрать нужное приложение либо из списка, либо указать местоположение основного исполняемого компонента (чаще всего это файл EXE).

Третий способ, позволяющий открыть файл XML, состоит в начальном запуске программы, а затем в использовании меню открытия файла (в большинстве случаев это сочетание Ctrl + O). При этом совершенно необязательно использовать «Блокнот». Пожалуйста, файл открывается без всяких проблем в том же приложении Word и ему подобных. Даже «майкрософтовский» Excel способен открывать данные такого формата.

Впрочем, если возникает необходимость редактирования XML-формата, тогда лучше применять профессиональные утилиты с поддержкой языкового синтаксиса, например, Oxygen XML Editor, XML Marker или EditiX Lite Version. Естественно, это далеко не все утилиты, способные работать с языком файла на высшем уровне. Сегодня таких программ можно найти очень много.

Теперь несколько слов о том, почему иногда появляется ошибка XML-файла при открытии. Чаще всего это связано с нарушением целостности самого файла, а также с некорректным введением описательных атрибутов или тегов. Кроме того, в Excel существует ограничение по лимиту отображаемых строк, так что в этом случае данные при открытии могут быть неполными.

Возможные ошибки при открытии XML-файла в виде вложения электронной почты

Иногда ошибки могут появляться, когда производится попытка открытия файла, являющегося вложением электронного сообщения. Чащу всего это относится к стандартным почтовым клиентам вроде Outlook Express.

Дело в том, что сначала вложение сохраняется в виде временных данных (очень часто с добавлением к основному расширению дополнительного.tmp), и обращение производится именно к нему.

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

Вместо итога

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

Язык XML привлек к себе уже достаточно много внимания со стороны разработчиков и пользователей Интернет. Сегодня количество приверженцев этой новой технологии возрастает также стремительно, как и число сообщений об очередных взятых ею преградах на пути к всеобщему признанию. Несмотря на то, что XML очень молод (международная организация W3C утвердила спецификацию «Extensible Markup Language(XML) 1.0» чуть меньше года назад — в начале февраля 1998 г) и отдельные компоненты этого языка находятся еще в стадии доработки, уже сегодня появляются новые языки, созданные на основе XML, возникают многочисленные Web-сервера, использующие эту технологию для организации хранящейся на них информации. Мир Интернет вокруг нас в очередной раз преображается, и мы можем стать участниками этого процесса уже сегодня

Целью данной статьи является попытка на конкретных примерах показать некоторые из возможностей XML, ответить на ряд часто возникающих при знакомстве с новым языком вопросов. Что же такое XML? В чем заключаются его преимущества перед привычным уже нам языком HTML? Можно ли использовать XML на своих Web-страничках уже сегодня? А если можно, то как?

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

Гораздо более простой и удобный, чем SGML, язык HTML позволяет определять оформление элементов документа и имеет некий ограниченный набор инструкций — тэгов, при помощи которых осуществляется процесс разметки. Инструкции HTML, в первую очередь, предназначены для управления процессом вывода содержимого документа на экране программы-клиента и определяют этим самым способ представления документа, но не его структуру. В качестве элемента гипертекстовой базы данных, описываемой HTML, используется текстовый файл, который может легко передаваться по сети с использованием протокола HTTP. Эта особенность, а также то, что HTML является открытым стандартом и огромное количество пользователей имеет возможность применять возможности этого языка для оформления своих документов, безусловно, повлияли на рост популярности HTML и сделали его сегодня главным механизмом представления информации в Web

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

rose,

программа просмотра будет знать, каким цветом отобразить текст, содержащийся внутри тэгов и, вероятно, отобразит его правильно, но ей абсолютно безразлично, в каком месте документа встретился этот тэг, в какие другие тэги заключен текущий фрагмент, существуют ли вложенные в него фрагменты, правильно ли построены отношения между объектами. Такое «безразличие» к структуре документа приводит к тому, что поиск или анализ информации внутри него ничем не будет отличаться от работы со сплошным, не разбитым на элементы текстовым файлом. А это, как известно, не самый эффективный способ работы с информацией.

Другим существенным недостатком HTML можно назвать ограниченность набора его тэгов. DTD- правила для HTML определяют фиксированный набор дескрипторов и поэтому у разработчика нет возможности вводить собственные, специальные тэги. Хотя время от времени появляются новые расширения языка(на сегодняшний день последней версией HTML является HTML 4.0), но долгий путь их стандартизации, сопровождаемый постоянными разногласиями между основными производителями броузеров делают практически невозможной быструю адаптацию языка, его использование для отображения специализированной информации(например, мультимедийной, математических, химических формул и т.д.).

Подводя итог всему сказанному, можно утверждать, что HTML уже сегодня не удовлетворяет в полной мере требованиям, предъявляемым современными разработчиками к языкам подобного рода. И ему на смену был предложен новый язык гипертекстовой разметки, мощный, гибкий, и, одновременно с этим, удобный язык XML. В чем же заключается его достоинства?

XML (Extensible Markup Language ) — это язык разметки, описывающий целый класс объектов данных, называемых XML- документами. Этот язык используется в качестве средства для описания грамматики других языков и контроля за правильностью составления документов. Т.е. сам по себе XML не содержит никаких тэгов, предназначенных для разметки, он просто определяет порядок их создания. Таким образом, если, например, мы считаем, что для обозначения элемента rose в документе необходимо использовать тэг ;, то XML позволяет свободно использовать определяемый нами тэг и мы можем включать в документ фрагменты, подобные следующему:

rose

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

rose

Если мы хотим посадить туда еще несколько цветочков, то должны внести следующие изменения:

rosetulipcactus

Как видно, сам процесс создания XML документа очень прост и требует от нас лишь базовых знаний HTML и понимания тех задач, которые мы хотим выполнить, используя XML в качестве языка разметки. Таким образом, у разработчиков появляется уникальная возможность определять собственные команды, позволяющие им наиболее эффективно определять данные, содержащиеся в документе. Автор документа создает его структуру, строит необходимые связи между элементами, используя те команды, которые удовлетворяют его требованиям и добивается такого типа разметки, которое необходимо ему для выполнения операций просмотра, поиска, анализа документа.

Еще одним из очевидных достоинств XML является возможность использования его в качестве универсального языка запросов к хранилищам информации. Сегодня в глубинах W3C находится на рассмотрении рабочий вариант стандарта XML-QL(или XQL), который, возможно, в будущем составит серьезную конкуренцию SQL. Кроме того, XML-документы могут выступать в качестве уникального способа хранения данных, который включает в себя одновременно средства для разбора информации и представления ее на стороне клиента. В этой области одним из перспективных направлений является интеграция Java и XML — технологий, позволяющая использовать мощь обеих технологий при построении машинно-независимых приложений, использующих, кроме того, универсальный формат данных при обмене информации.

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

Также одним из достоинств XML является то, что программы-обработчики XML- документов не сложны и уже сегодня появились и свободно распространяются всевозможные программные продукты, предназначенные для работы с XML-документами. XML поддерживается сегодня в Microsoft Internet Explorer 4/0 и в бэта-версиях IE5. Было заявлено о его поддержке в последующих версиях Netscape Communicator, СУБД Oracle, DB-2, в приложениях MS-Office . Все это дает основания предполагать, что, скорее всего, в ближайшем будущем XML станет основным языком обмена информации для информационных систем, заменив собой, тем самым, HTML. На основе XML уже сегодня созданы такие известные специализированные языки разметки, как SMIL, CDF, MathML, XSL, и список рабочих проектов новых языков, находящихся на рассмотрении W3C, постоянно пополняется.

ПервыйВторой подпункт 1ТретийПоследний
  • В заголовке документа помещается объявление XML, в котором указывается язык разметки документа, номер его версии и дополнительная информация
  • Каждый открывающий тэг, определяющий некоторую область данных в документе обязательно должен иметь своего закрывающего «напарника», т.е., в отличие от HTML, нельзя опускать закрывающие тэги
  • Все значения атрибутов, используемых в определении тэгов, должны быть заключены в кавычки
  • Вложенность тэгов в XML строго контролируется, поэтому необходимо следить за порядком следования открывающих и закрывающих тэгов
  • Вся информация, располагающаяся между начальным и конечными тэгами, рассматривается в XML как данные и поэтому учитываются все символы форматирования (т.е. пробелы, переводы строк, табуляции не игнорируются, как в HTML)
RussiaNovosibirsk

Элементы данных

roseNovosibirsk rose НовосибирскSiberiaНовосибирский Государственный Технический Университет
очень хороший институтНовосибирский Государственный Университет
тоже не плохойЗачем он нужен, этот XML ?

[В последнее время, в связи с появлением этих страничек, самым частым
вопросом ко мне оказался такой: «Расскажи, а зачем он вообще нужен, XML?
Разве нам мало HTML? » Не имея многого времени (или ума;) на изготовление собственных публикаций, а также глубоко чтя классиков, я предпочел лучше бегло перевести отличную статью по названной subj
— возможно, это первый эпизод сериала «в помощь» ]

Jon Bosak, Tim Bray
XML and the Second-Generation Web
из журнала «Scientific American», май 1999

Дайте людям пару наводок, остальное они сообразят сами. Посмотрев на страницу, где более крупные блоки текста делятся на более мелкие, все быстро понимают, что перед ними начало статьи. Посмотрев на список бакалейных товаров, можно быстро догадаться, что это «инструкция» на посещение магазина. Увидев колонки цифр — понять, что это банковский счет. Компьютеры пока еще не так умны — до них все это приходится доносить точно — с чем конкретно они должны иметь дело и что для этого от них требуется.

Именно для этого — сделать информацию само-описанной — и был придуман новый язык разметки документов — Extensible Markup Language (XML). Эти легко выговариваемые изменения («само-описанный» документ, смена правил общения с компьютерами) несут в себе огромный потенциал — роль Internet от среды доставки информации начинает расширяться на другие виды человеческой деятельности. И действительно, с момента утверждения ее W3C в 1998г, XML-спецификация со скоростью лесного пожара стала проникать повсюду — в промышленность и науку, в производство товаров и медицину.

Энтузиасты надеялись, что XML даст возможность решить ряд глобальных проблем Web. Проблемы эти известны: во-первых, Internet — суперскоростная сеть, зачастую ведет себя хуже черепахи; а во-вторых, хотя в сети присутствует едва ли не вся информация, найти в ней что-то необходимое нередко бывает до бешенства трудно.

Обе эти проблемы обусловлены, главным образом, природой основного языка Сети — HTML. И хотя успех HTML по сравнению с другими когда-либо предложенными языками электронных публикаций очевиден, HTML слишком скуден: в сущности, он лишь говорит браузеру, как тому разместить на странице текст, картинки и кнопки. HTML упирает на представление информации, и поэтому довольно прост в изучении, однако за это приходится расплачиваться.

Это отражается на сложности разработки web-сайтов, если только эти сайты не должны походить на факсы, рассылающие страницы всем желающим, кто попросит. Более половины людей и компаний во всем мире предпочли бы web-сайты, которые умеют принимать от пользователей заказы, пересылать диагнозы болезней и даже запускать тонкие инструментальные операции в заводских цехах и научных лабораториях. Подобные задачи _НИКОГДА_ не стояли перед HTML!.

К примеру, если даже у вашего врача и получается «извлекать» в свой просмотрщик анализы, взятые из вашей мед.карточки, то вряд ли у него уже получается послать их по сети другому специалисту, чтобы полученный ответ вставить обратно в свою БД. Его компьютер не знает, что делать с информацией, которая ему столь же ясна, как

или бе бе.
Легендарный Керниган однажды заметил, что вся хитрость принципа WYSIWYG (что вижу, то и получаю) состоит в том, что когда ничего не видно, то обычно и получить удается ровно столько же.

Те слова выше, что заключены в угловые скобки, называются тегами. В HTML нет никакого тега для анализов, и отсюда другой его недостаток: негибкость. Добавление в язык нового тега — это такая бюрократическая волокита, столь длительная, что никто с этим и связываться не будет. А ведь свои собственные теги не помешали бы каждой программе, а не только такой, как в приведенном примере с врачом.

Это во многом объясняет сегодняшние медленные темпы создания онлайновых магазинов, каталогов по почте и прочих интерактивных сайтов. Изменив количество единиц заказа и способ доставки, и увидев горсточку поменявшихся в поле «сумма» цифр, вам все равно придется запрашивать удаленный (и без того перегруженный работой) сервер прислать вам обратно полную вновь сформированную страницу с графикой и всем остальным. Тогда как ваш собственный мощный компьютер будет праздно простаивать, потому что только что узнал нечто типа

XML практически всегда применяется не по назначению / Блог компании Mail.ru Group / Хабр


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

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

XML — это язык разметки. Это не формат данных. В большинстве схем XML это разграничение явно не учитывали, путая XML с форматом данных, что в итоге означало ошибку в самом выборе XML, поскольку на самом деле нужен был именно формат данных.

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

С этой точки зрения существует простой способ проверить, насколько хорошо сделана схема XML. Возьмем для примера документ в предполагаемой схеме и удалим из него все теги и атрибуты. Если в том, что осталось, нет смысла (или если осталась пустая строка), то либо ваша схема построена неправильно, либо вам просто не стоило применять XML.

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

<roоt>
  <item name="name" value="John" />
  <item name="city" value="London" />
</roоt>

Здесь мы видим пример необоснованной и странной (хоть и весьма распространенной) попытки выразить языком XML простой словарь «ключ-значение». Если удалить все теги и атрибуты, останется пустая строка. По существу данный документ представляет собой, как бы абсурдно это ни звучало, семантическую аннотацию пустой строки.
<root name="John" city="London" />

Что еще хуже, у нас здесь не просто семантическая аннотация пустой строки как экстравагантный способ выражения словаря — на этот раз «словарь» напрямую закодирован в виде атрибутов корневого элемента. Из-за этого заданный набор имен атрибутов на элементе становится неопределенным и динамическим. Более того, отсюда видно, что все, что на самом деле хотел выразить автор, — это простой синтаксис «ключ-значение», но вместо этого он принял абсолютно странное решение применить XML, принудительно задавая использование одиночного пустого элемента просто в качестве префикса для использования синтаксиса атрибутов. И такие схемы попадаются мне очень часто.
<roоt>
  <item key="name">John</item>
  <item key="city">London</item>
</roоt>

Это уже кое-что получше, но теперь ключи по какой-то причине являются метаданными, а значения — нет. Весьма странный взгляд на словари. Если удалить все теги и атрибуты, будет потеряна половина информации.

Правильное выражение словаря в XML будет выглядеть приблизительно так:

<roоt>
  <item>
    <key>Name</key>
    <value>John</value>
  </item>
  <item>
    <key>City</key>
    <value>London</value>
  </item>
</roоt>

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

Самая худшая схема XML? Кстати, приз за самую худшую схему XML, которую мне доводилось видеть, получает формат файла конфигурации автоматического выделения ресурсов для телефонов IP-телефонии Polycom. Такие файлы требуют загрузки XML-файлов запроса по TFTP, которые… В общем, вот отрывок из одного такого файла:

<softkey
        softkey.feature.directories="0"
        softkey.feature.buddies="0"
        softkey.feature.forward="0"
        softkey.feature.meetnow="0"
        softkey.feature.redial="1"
        softkey.feature.search="1"

        softkey.1.enable="1"
        softkey.1.use.idle="1"
        softkey.1.label="Foo"
        softkey.1.insert="1"
        softkey.1.action="..."

        softkey.2.enable="1"
        softkey.2.use.idle="1"
        softkey.2.label="Bar"
        softkey.2.insert="2"
        softkey.2.action="..." />

Это не чья-то неудачная шутка. И это не моя выдумка:
  • элементы просто используются как префикс для прикрепления атрибутов, которые сами по себе имеют иерархические имена.
  • Если нужно приписать значения нескольким экземплярам записи определенного вида, для этого необходимо использовать имена атрибутов, в которых есть индексы.
  • Кроме этого, атрибуты, начинающиеся с softkey., нужно помещать на элементы <softkey/>, атрибуты, начинающиеся с feature., нужно помещать на элементы <feature/> и т. д., несмотря на то, что это выглядит совершенно излишним и на первый взгляд бессмысленным.
  • И, наконец, если вы надеялись, что первый компонент имени атрибута всегда совпадает с именем элемента — ничего подобного! Например, атрибуты up. должны прикрепляться к <userpreferences/>. Порядок прикрепления имен атрибутов к элементам — произвольный, причем практически полностью.

Документы или данные. Время от времени кто-то делает абсолютно странные вещи, пытаясь сравнивать XML и JSON, — и тем самым показывая, что не понимает ни того, ни другого. XML — это язык разметки документов. JSON же представляет собой формат структурированных данных, так что сравнивать их друг с другом — все равно что пытаться сравнить теплое с мягким.

Разобраться в этом поможет понятие разницы между документами и данными. В качестве аналога XML можно условно взять машиночитаемый документ. Хоть он и предназначен для считывания машиной, метафорически он относится к документам, и с этой точки зрения фактически является сопоставимым с документами формата PDF, которые чаще всего не являются машиночитаемыми.

К примеру, в XML имеет значение порядок элементов. А в JSON порядок следования пар «ключ-значение» внутри объектов не имеет смысла и не определен. Если вы хотите получить неупорядоченный словарь из пар «ключ-значение», фактический порядок, в котором следуют элементы в этом файле, не имеет значения. Но вы можете сформировать из этих данных много разных документов, поскольку в документе есть определенный порядок. Метафорически это аналог документа на бумаге, хоть он и не имеет физических размеров в отличие от распечатки или файла PDF.

В моем примере правильного представления словаря на языке XML показан порядок следования элементов в словаре, в отличие от представления на языке JSON. Я не могу игнорировать этот порядок: такая линейность изначально свойственна модели документов и формату XML. Кто-то при интерпретации этого XML-документа может решить проигнорировать порядок, но спорить по этому поводу бессмысленно, поскольку данный вопрос выходит за рамки обсуждения собственно формата. Более того, если сделать документ просматриваемым в браузере, прикрепив к нему каскадную таблицу стилей, можно будет увидеть, что элементы словаря следуют в определенном порядке, и ни в каком другом.

Другими словами, словарь (фрагмент структурированных данных) может быть преобразован в n различных возможных документов (в формате XML, PDF, на бумаге и т. п.), где n — количество возможных комбинаций элементов в словаре, и это мы еще не учли другие возможные переменные.

Вместе с тем из этого также следует, что если вы хотите передать одни только данные, то использовать для этого машиночитаемый документ будет не эффективно. В нем используется модель, которая в этом случае лишняя, она будет только мешать. К тому же, для того чтобы извлечь исходные данные, необходимо будет написать программу. Вряд ли есть смысл использовать XML для чего-то такого, что на определенном этапе не будет форматироваться в виде документа (скажем, с помощью CSS или XSLT, либо и того, и другого), поскольку это главная (если не единственная) причина для того, чтобы придерживаться модели документа.

Более того, поскольку в XML нет понятия чисел (или булевых выражений, либо других типов данных), все представленные в этом формате числа считаются лишь дополнительным текстом. Для извлечения данных должна быть известна схема и ее связь с соответствующими выражаемыми данными. Также необходимо знать, когда исходя из контекста тот или иной элемент текста представляет собой число, и его следует преобразовывать в число, и т. д.

Таким образом, процесс извлечения данных из документов XML не так уж сильно отличается от процесса распознавания отсканированных документов, содержащих, например, таблицы, образующие множество страниц численных данных. Да, сделать это в принципе возможно, но это не самый оптимальный путь, — разве что в крайнем случае, когда совсем нет других вариантов. Разумным решением будет просто найти цифровую копию оригинальных данных, не заложенных в модель документа, в которой данные объединены с их конкретным текстовым представлением.

При этом меня совсем не удивляет, что XML популярен в бизнесе. Причина этого именно в том, что формат документов (на бумаге) понятен и привычен для бизнеса, и там хотят продолжать пользоваться знакомой и понятной моделью. По той же самой причине в бизнесе слишком часто используют документы в PDF вместо более удобных для машинной обработки форматов — потому что они по-прежнему привязаны к понятию печатной страницы с определенным физическим размером. Это касается даже тех документов, которые вряд ли когда-нибудь будут распечатываться (например, PDF-файл документации реестра из 8000 страниц). С этой точки зрения использование XML в бизнесе по сути — проявление скевоморфизма. Людям понятна метафорическая идея печатной страницы ограниченного размера, и они понимают, как создавать бизнес-процессы на основе печатных документов. Если это ваш ориентир, документы без ограниченного физического размера, являющиеся машиночитаемыми — документы XML — представляют собой инновацию, являясь при этом знакомым и комфортным аналогом документа. Что не мешает им оставаться неверным и излишне скевоморфичным способом представления данных.

На сегодняшний день единственными известными мне схемами XML, которые я действительно могу назвать правильным применением этого формата, являются XHTML и DocBook.

Описания форматов электронных сообщений для подготовки отчетности в формате XML

0409711 Отчет по ценным бумагам 01.05.2021 XML_711_2021-05-24.rar v4.0.4.5
0409207 Сведения об имеющих признаки подделки денежных знаках, переданных территориальным органам внутренних дел 14.06.2021 XML_207_2021-05-14.rar v2.1.4.5
0409713 Информация о фактах необеспечения номинальным держателем получения доходов по ценным бумагам и фактах нераскрытия номинальным держателем данных о своих депонентах 30.06.2021 XML_713_2021-06-30.rar v1.1.4.5
0409129 Данные о средневзвешенных процентных ставках по привлеченным кредитной организацией вкладам, депозитам 01.05.2021 XML_129_2021-05-01.rar v4.0.4.5
0409302 Сведения о привлеченных средствах 01.05.2021 XML_302_2021-05-01.rar v3.0.4.5
0409316 Сведения о кредитах, предоставленных физическим лицам 01.05.2021 XML_316_2021-05-01.rar v3.0.4.5
0409708 Сведения о работниках кредитной организации, осуществляющих функции, непосредственно связанные с осуществлением профессиональной деятельности на рынке ценных бумаг, клиринговой деятельности или репозитарной деятельности 01.07.2021 XML_708_2021-07-01.rar v4.0.4.5
0608023 Сведения о направлениях заимствования и размещения средств страховщика 01.04.2021 XML_1SK_2021-04-01.rar v1.0.4.5
0608024 Сведения о финансовых операциях негосударственного пенсионного фонда 01.04.2021 XML_1NPF_2021-04-01.rar v1.0.4.5
0409602 Информация о лицах, которым поручено проведение идентификации или упрощенной идентификации 01.05.2021 XML_602_2021-05-01.rar v3.0.4.5
0409703 Сведения о деятельности квалифицированного центрального контрагента 01.05.2021 XML_703_2021-05-01.rar v1.0.4.5
0409707 Сведения об осуществлении брокерской, депозитарной деятельности, деятельности по управлению ценными бумагами и инвестиционному консультированию 01.05.2021 XML_707_2021-05-01.rar v4.0.4.5
0409711 Отчет по ценным бумагам 01.05.2021 XML_711_2021-05-01.rar v4.0.4.5
0409135 Информация об обязательных нормативах и о других показателях деятельности кредитной организации 01.05.2021 XML_135_2021-05-01.rar v4.1.4.5
0409310 Сведения о предметах залога, принятых кредитными организациями в качестве обеспечения по ссудам 01.05.2021 XML_310_2021-05-01.rar v0.2.4.5
0409123 Расчет собственных средств (капитала) («Базель III») 02.04.2021 XML_123_2021-04-02.rar v2.1.4.5
0409303 Сведения о ссудах, предоставленных юридическим лицам 01.05.2021 XML_303_2021-05-01.rar v3.0.4.5
0409050 Информация о классификационных группах небанковских кредитных организаций 01.04.2021 XML_050_2021-04-01.rar v1.0.4.5
0409054 Информация о классификационных группах банков 01.04.2021 XML_054_2021-04-01.rar v1.0.4.5
0409111 Информация об организации внутренних процедур оценки достаточности капитала (ВПОДК) и их результатах 01.01.2021 XML_111_2021-01-01.rar v1.0.4.5
0409113 Информация о расчете величины кредитного риска с использованием подхода на основе внутренних рейтингов 01.04.2021 XML_113_2021-04-01.rar v1.0.4.5
0409114 Информация о результатах применения методик управления рисками и моделей количественной оценки рисков 02.04.2021 XML_114_2021-04-02.rar v0.1.4.5
0409115 Информация о качестве активов кредитной организации (банковской группы) 02.04.2021 XML_115_2021-04-02.rar v2.1.4.5
0409125 Сведения об активах и пассивах по срокам востребования и погашения 02.04.2021 XML_125_2021-04-02.rar v2.0.4.5
0409207 Сведения об имеющих признаки подделки денежных знаках, переданных территориальным органам внутренних дел 01.04.2021 XML_207_2021-04-01.rar v2.0.4.5
0409350 Отчет о наличии в кредитной организации неисполненных денежных обязательств, в том числе неисполненной обязанности по уплате обязательных платежей 02.04.2021 XML_350_2021-04-02.rar v3.0.4.5
0409501 Сведения о межбанковских кредитах и депозитах 02.04.2021 XML_501_2021-04-02.rar v3.0.4.5
0409722 Сведения об обязательных нормативах и о выделенном капитале центрального контрагента 01.04.2021 XML_722_2021-04-01.rar v2.0.4.5
0409801 Отчет о составе участников банковской группы и вложениях кредитной организации в паи паевых инвестиционных фондов 01.04.2021 XML_801_2021-04-01.rar v4.0.4.5
0409909 Информация о счетах и об остатках денежных средств на счетах, открытых финансовым органам, органам управления государственными внебюджетными фондами, получателям бюджетных средств и бюджетным учреждениям в кредитных организациях 01.04.2021 XML_909_2021-04-01.rar v2.0.4.5
0409117 Данные о крупных ссудах 02.04.2021 XML_117_2021-04-02.rar v3.0.4.5
0409919 Информация о счетах и об остатках денежных средств на счетах, открытых финансовым органам, органам управления государственными внебюджетными фондами, получателям бюджетных средств и бюджетным учреждениям в структурных подразделениях Банка России и кредитных организациях 01.04.2021 XML_919_2021-04-01.rar v1.0.4.5
0409602 Информация о лицах, которым поручено проведение идентификации или упрощенной идентификации 01/04/2021 XML_602_2021-04-01.rar v2.0.4.5
0409345 Данные о ежедневных остатках подлежащих страхованию денежных средств, размещенных во вклады 02/01/2021 XML_345_2020-01-02.rar v5.0.4.5
0409910 Информация о счетах и об остатках денежных средств на счетах, открытых финансовым органам субъектов Российской Федерации и муниципальных образований, органам управления государственными внебюджетными фондами, получателям средств бюджетов бюджетной системы Российской Федерации, государственным (муниципальным) бюджетным, автономным учреждениям, государственным (муниципальным) унитарным предприятиям и государственным корпорациям (компаниям) в кредитных организациях 01/01/2021 XML_910_2021-01-01.rar v2.0.4.5
0409119 Данные о максимальной доходности по вкладам физических лиц 01/11/2020 XML_119_2020-11-01.rar v2.0.4.5
0409345 Данные о ежедневных остатках подлежащих страхованию денежных средств, размещенных во вклады 02/10/2020 XML_345_2020-10-02.rar v4.0.4.5
0409405 Сведения об операциях с ценными бумагами, долями, недвижимым имуществом, паями и вкладами в имущество, совершенных между резидентами и нерезидентами, а также об операциях между резидентами с иностранными ценными бумагами, недвижимым имуществом за рубежом, долями, паями и вкладами в имущество иностранных компаний 01/11/2019 XML_405_2019-12-01.rar v3.1.4.5
0409110 Расшифровки отдельных показателей деятельности кредитной организации 01/03/2020 XML_110_2020-03-01.rar v3.0.4.5
0409125 Сведения об активах и пассивах по срокам востребования и погашения 02/01/2019 XML_125_2019-01-02.rar v1.3.4.5
MSAZ Сканированные изображения финансовой отчетности и аудиторского заключения по ней 01/01/2020 XML_MSAZ_2020-01-01.rar v0.2.4.5
MSPRIM Сканированные изображения примечаний финансовой отчетности 01/01/2020 XML_MSPRIM_2020-01-01.rar v0.2.4.5
0409310 Сведения о предметах залога, принятых кредитными организациями в качестве обеспечения по ссудам 01/01/2021 XML_0409310_2020-06-29.rar v0.1.4.5
0403230 Cведения о поставщиках платежных приложений 01/07/2020 XML_0403230_2020-06-09.rar v1.0.4.5
0403231 Cведения об иностранных поставщиках платежных услуг 01/07/2020 XML_0403231_2020-05-21.rar v1.0.4.5
0403232 Cведения об операторах услуг информационного обмена 01/07/2020 XML_0403232_2020-05-21.rar v1.0.4.5
0403233 Cведения о банковских платежных агентах, осуществляющих операции платежных агрегаторов 01/07/2020 XML_0403233_2020-06-09.rar v1.0.4.5
INRBG «Сканированные изображения «Информация о принимаемых рисках, процедурах их оценки, управления рисками и капиталом»» 01/01/2020 XML_INRBG_2020-01-01.rar v0.2.4.5
INRKO «Сканированные изображения «Информация о принимаемых рисках, процедурах их оценки, управления рисками и капиталом»» 01/01/2020 XML_INRKO_2019-12-30.rar v0.2.4.5
PUBL «Сканированные изображения листов аудиторского заключения о достоверности публикуемой отчетности» 01/01/2020 XML_PUBL_2020-01-01.rar v0.2.4.5
800PZ «Сканированные изображения примечаний пояснительной информации к бухгалтерской (финансовой) отчетности» 01/01/2020 XML_800PZ_2019-12-30.rar v0.2.4.5
0403021 Уведомление об участии (прекращении участия) в иностранной платежной системе 01/04/2020 XML_0403021_2020-02-28.rar v1.0.4.5
0403202 «Сведения о выполнении операторами платежных систем, операторами услуг платежной инфраструктуры, операторами по переводу денежных средств требований к обеспечению защиты информации при осуществлении переводов денежных средств» 14/01/2020 XML_0403202_2020-01-14.rar v1.0.4.5
0409910 «Информация о счетах и об остатках денежных средств на счетах, открытых финансовым органам субъектов Российской Федерации и муниципальных образований, органам управления государственными внебюджетными фондами, получателям средств бюджетов бюджетной системы Российской Федерации, государственным (муниципальным) бюджетным, автономным учреждениям, государственным (муниципальным) унитарным предприятиям и государственным корпорациям (компаниям) в кредитных организациях» 01/01/2020 XML_910_2020-01-01.rar v1.0.4.5
7504 Список участников (акционеров) кредитной организации (в электронном виде) 01/11/2019 xml_7504_2019-09-05.rar v1.4.4.5
0409260 Сведения о точках предоставления платежных услуг кредитных организаций и банковских платежных агентов (субагентов) 01/10/2019 xml_260_2019-09-16.rar v2.1.4.5
0409345 Данные о ежедневных остатках подлежащих страхованию денежных средств, размещенных во вклады 02/07/2019 xml_345_2019-06-04.rar v3.0.4.5
0403201 Сведения по платежным системам операторов платежных систем 01/07/2019 xml_0403201_2019-05-28.rar v2.0.4.5
0403205 Сведения по инцидентам, возникшим (выявленным) при оказании услуг платежной инфраструктуры, и показателям бесперебойности функционирования платежной системы 01/09/2019 xml_0403205_2019-04-23.rar v1.0.4.5
0409713 Информация о фактах необеспечения номинальным держателем получения доходов по ценным бумагам и фактах нераскрытия номинальным держателем данных о своих депонентах 01/07/2019 xml_713_2019-05-20.rar v0.0.4.5
0409120 Данные о риске концентрации 01/04/2019 xml_120_2019-04-01.rar v1.0.4.5
0409128 Данные о средневзвешенных процентных ставках по кредитам, предоставленным кредитной организацией физическим лицам 01/02/2019 xml_128_2019-02-01.rar v2.0.4.5
0409129 Данные о средневзвешенных процентных ставках по привлеченным кредитной организацией вкладам, депозитам 01/02/2019 xml_129_2019-02-01.rar v3.0.4.5
0409155 Сведения об условных обязательствах кредитного характера и производных финансовых инструментах 02/01/2019 xml_155_2019-01-02.rar v2.0.4.5
0409258 Сведения о несанкционированных операциях, совершенных с использованием платежных карт 01/01/2019 XML_0409258_2019-01-01.rar v0.2.4.5
0409203 Сведения о счетно-сортировальных машинах кредитной организации, применяемых при обработке банкнот Банка России, предназначенных для выдачи клиентам 01/01/2019 xml_203_2019-04-25.rar v0.2.4.5
0409250 Сведения об операциях с использованием платежных карт и инфраструктуре, предназначенной для совершения с использованием и без использования платежных карт операций выдачи (приема) наличных денежных средств и платежей за товары (работы, услуги) 01/04/2019 xml_250_2019-04-01.rar v3.0.4.5
0409260 Сведения о точках предоставления платежных услуг кредитных организаций и банковских платежных агентов (субагентов) 01/04/2019 xml_260_2019-03-01.rar v2.0.4.5
0409302 Сведения о привлеченных средствах 01/02/2019 xml_302_2019-02-01.rar v2.0.4.5
0409316 Сведения о кредитах, предоставленных физическим лицам 01/02/2019 xml_316_2019-02-01.rar v2.0.4.5
0409345 Данные о ежедневных остатках подлежащих страхованию денежных средств, размещенных во вклады 01/01/2019 xml_345_2018-10-24.rar v2.0.4.5
0409401 Отчет уполномоченного банка об иностранных операциях 01/02/2019 xml_401_2019-01-22.rar v3.0.4.5
0409404 Сведения об инвестициях уполномоченного банка и его клиентов-резидентов (кроме кредитных организаций) в ценные бумаги, выпущенные нерезидентами, и в уставный капитал (доли) нерезидентов 01/04/2019 xml_404_2019-04-01.rar v2.0.4.5
0409610 Отчет об операциях с драгоценными металлами и монетами, содержащими драгоценные металлы 01/02/2019 xml_610_2019-02-01.rar v0.1.4.5
0409707 Сведения об осуществлении брокерской, депозитарной деятельности и деятельности по управлению ценными бумагами 01/02/2019 xml_707_2018-12-19.rar v3.0.4.5
0409711 Отчет по ценным бумагам 01/02/2019 xml_711_2018-12-14.rar v3.0.4.5
0409713 Информация о фактах необеспечения номинальным держателем получения доходов по ценным бумагам и фактах нераскрытия номинальным держателем данных о своих депонентах 01/07/2019 xml_713_2019-04-18.rar v0.0.4.5
800I Консолидированная отчетность 01/04/2019 xml_800I_2019-01-04.rar v2.0.4.5
800P Публикуемая отчетность кредитных организаций 01/04/2019 xml_800P_2019-01-04.rar v3.0.4.5
0409110 Расшифровки отдельных показателей деятельности кредитных организаций 02/01/2019 xml_110_2018-11-29.rar v2.0.4.5
7504 Список участников (акционеров) кредитной организации (в электронном виде) 01/01/2019 XML_7504_2018-11-26.rar v1.3.4.5
0409170 Сведения о дочерних организациях – нерезидентах 01/01/2019 XML_170_2018-11-09.rar v1.0.4.5
0403203 Сведения о событиях, связанных с нарушением защиты информации при осуществлении переводов денежных средств 01/10/2018 XML_0403203_2018-10-01.rar v0.2.4.5
0403201 Сведения по платежным системам операторов платежных систем 01/04/2018 XML_0403201_2017-03-28.rar v1.0.4.5
0403202 Сведения о выполнении операторами платежных систем, операторами услуг платежной инфраструктуры, операторами по переводу денежных средств требований к обеспечению защиты информации при осуществлении переводов денежных средств 26/03/2018 XML_0403202_2017-03-27.rar v1.0.4.5
0403203 Сведения о выявлении инцидентов, связанных с нарушением требований к обеспечению защиты информации при осуществлении переводов денежных средств 01/04/2018 XML_0403203_2018-04-01.rar v0.1.4.5
0403204 Сведения по платежным системам оператора платежных систем, в рамках которых осуществляется перевод денежных средств по сделкам, совершенным на организованных торгах 01/04/2018 XML_0403204_2017-03-29.rar v1.0.4.5
0409024 Сведения о заключении договора на проведение аудиторской проверки деятельности кредитной организации, банковской группы 01/01/2018 XML_024_2018-01-01.rar v0.1.4.5
0409025 Сведения об акционере (акционерах)/участнике (участниках) кредитной организации, голосовавшем (голосовавших) за решение о распределении прибыли (части прибыли), если такое распределение привело к несоблюдению кредитной организацией (банковской группой) установленной (установленных) Банком России надбавки (надбавок) к нормативам достаточности собственных средств (капитала) 01/10/2017 XML_025_2017-04-07.rar v0.1.4.5
0409051 (AFL) Список аффилированных лиц 01/10/2017 XML_AFL_2017-08-04.rar v1.1.4.5
0409052 (AFL) Список аффилированных лиц, принадлежащих к группе лиц, к которой принадлежит кредитная организация
0409070 Сведения об использовании кредитной организацией интернет-технологий и информационных систем 01/04/2018 XML_070_2018-04-04.rar v3.0.4.5
0409101 Оборотная ведомость по счетам бухгалтерского учета кредитной организации 01/10/2017 XML_101_2017-01-30.rar v1.0.4.5
0409102 Отчет о финансовых результатах кредитной организации 01/01/2018 XML_102_2016-04-16.rar v1.0.4.3
0409110 Расшифровки отдельных показателей деятельности кредитной организации 01/10/2017 XML_110_2015-12-02.rar v0.1.4.5
0409115 Информация о качестве активов кредитной организации (банковской группы) 01/01/2018 XML_115_2016-12-09.rar v0.4.4.5
0409116 Сведения о ценных бумагах, приобретенных кредитной организаций 01/10/2017 XML_116_2010-01-02.rar v0.1.4.2
0409117 Данные о крупных ссудах 01/11/2017 XML_117_2017-09-06.rar v2.1.4.5
0409118 Данные о концентрации кредитного риска 01/01/2018 XML_118_2017-11-17.rar v2.1.4.5
0409119 Данные о максимальных процентных ставках по вкладам физических лиц 01/10/2017 XML_119_2016-08-10.rar v0.1.4.5
0409120 Данные о риске концентрации 01/07/2018 XML_120-2018-01-31.rar v0.1.4.5
0409121 Расчет системно значимыми кредитными организациями норматива структурной ликвидности (норматива чистого стабильного фондирования) (Базель III) 01/04/2018 XML_121_2018-04-01.rar v0.1.4.5
0409122 Расчет показателя краткосрочной ликвидности (Базель III) 01/10/2017 XML_122_2016-02-20.rar v0.1.4.2
0409123 Расчет собственных средств (капитала) (Базель III) 01/10/2017 XML_123_2017-06-02.rar v1.0.4.5
0409125 Сведения об активах и пассивах по срокам востребования и погашения 01/11/2017 XML_125_2017-03-21.rar v1.0.4.5
0409126 Данные о средневзвешенных значениях полной стоимости потребительских кредитов (займов) 01/01/2018 XML_126_2016-04-05.rar v0.1.4.3
0409127 Сведения о риске процентной ставки 01/01/2018 XML_127_2017-05-31.rar v1.0.4.5
0409128 Данные о средневзвешенных процентных ставках по кредитам, предоставленным кредитной организацией 01/12/2017 XML_128_2017-02-01.rar v1.0.4.5
0409129 Данные о средневзвешенных процентных ставках по привлеченным кредитной организацией депозитам, вкладам 01/12/2017 XML_129_2018-05-01.rar v2.0.4.5
0409135 Информация об обязательных нормативах и о других показателях деятельности кредитной организации 01/11/2017 XML_135_2017-05-25.rar v2.0.4.5
0409155 Сведения об условных обязательствах кредитного характера и производных финансовых инструментах 01/10/2017 XML_155_2017_01_02.rar v1.0.4.5
0409157 Сведения о крупных кредиторах (вкладчиках) кредитной организации 01/10/2017 XML_157_2018-01-02.rar v1.0.4.5
0409159 Сведения о банковских счетах, счетах по депозитам отдельных категорий юридических лиц и аккредитивах 01/04/2018 XML_159_2018-01-01.rar v2.0.4.5
0409170 Сведения о дочерних организациях — нерезидентах 01/10/2017 XML_170_2017-06-30.rar v0.2.4.5
0409171 Сведения для расчета размера участия иностранного капитала в совокупном уставном капитале кредитных организаций, имеющих лицензию на осуществление банковских операций 01/10/2017 XML_171_2017-10-25.rar v1.0.4.5
0409202 Отчет о наличном денежном обороте 01/02/2018 XML_202_2018-04-07.rar v2.1.4.5
0409203 Сведения о счетно-сортировальных машинах кредитной организации, применяемых при обработке банкнот Банка России, предназначенных для выдачи клиентам 01/07/2018 XML_203_2018-07-01.rar v0.1.4.5
0409207 Сведения об имеющих признаки подделки денежных знаках, переданных территориальным органам внутренних дел 12/04/2018 XML_207_2017-01-01.rar v0.1.4.5
0409250 Сведения об операциях с использованием платежных карт и инфраструктуре, предназначенной для совершения с использованием и без использования платежных карт операций выдачи (приема) наличных денежных средств и платежей за товары (работы, услуги) 01/04/2018 XML_250_2018-02-08.rar v2.0.4.5
0409251 Сведения  о счетах клиентов и платежах, проведенных через кредитную организацию (ее филиал) 01/01/2018 XML_251_2015-06-28.rar v1.1.4.5
0409255 Сведения кредитных организаций о начале (завершении) эмиссии и (или) эквайринга платежных карт 01/06/2018 XML_255_2018-04-06.rar v0.2.4.5
0409257 Сведения о клиентах кредитной организации и переводах денежных средств между банковскими счетами клиентов, являющихся кредитными организациями (их филиалами), государственной корпорацией «Банк развития и внешнеэкономической деятельности (Внешэкономбанк)», банками-нерезидентами 01/10/2017 XML_257_2016-09-14.rar v1.1.4.5
0409258 Сведения о несанкционированных операциях, совершенных с использованием платежных карт 01/01/2018 XML_258_2018-01-01.rar v0.1.4.5
0409259 Сведения о деятельности кредитной организации, связанной с переводом электронных денежных средств 01/01/2018 XML_259_2017-03-20.rar v1.0.4.5
0409260 Информация о банкоматах кредитной организации, предназначенных для оказания платежных услуг 01/01/2018 XML_260_2017-06-22.rar v1.0.4.5
0409301 Отдельные показатели, характеризующие деятельность кредитной организации 10/01/2018 XML_301_2017-12-19.rar v2.0.4.5
0409302 Сведения о размещенных и привлеченных средствах 01/10/2017 XML_302_2018-02-01.rar v1.0.4.5
0409303 Сведения о ссудах, предоставленных юридическим лицам 01/02/2018 XML_303_2018-05-14.rar v1.0.4.5
0409316 Сведения о жилищных и ипотечных кредитах физическим лицам 01/04/2018 XML_316_2018-04-01.rar v1.0.4.5
0409345 Данные о ежедневных остатках подлежащих страхованию денежных средств физических лиц, размещенных во вклады 01/11/2017 XML_345_2017-01-24.rar v1.0.4.5
0409350 Отчет о наличии в кредитной организации неудовлетворенных требований отдельных кредиторов по денежным обязательствам и неисполнении обязанности по уплате обязательных платежей 01/07/2017 XML_350_2017-01-13.rar v2.0.4.5
0409354 Отчет о выполнении плана мер по финансовому оздоровлению кредитной организации 01/02/2018 XML_354_2017-03-17.rar v0.1.4.5
0409357 Сведения о поступлении денежных средств, их источниках и расходовании денежных средств 01/12/2017 XML_357_2017-09-28.rar v2.0.4.5
0409358 Сведения о расходах на функционирование кредитной организации и других текущих расходах 01/12/2017 XML_358_2017-09-27.rar v2.0.4.5
0409359 Сведения о формировании конкурсной массы, об итогах инвентаризации и оценки имущества (активов) 01/12/2017 XML_359_2017-09-26.rar v2.0.4.5
0409360 Сведения о требованиях кредиторов 01/12/2017 XML_360_2017-09-27.rar v2.0.4.5
0409361 Сведения о ходе реализации имущества (активов) 01/12/2017 XML_361_2017-09-27.rar v2.0.4.5
0409362 Сведения об исковой работе 01/12/2017 XML_362_2017-09-25.rar v2.0.4.5
0409401 Отчет уполномоченного банка об иностранных операциях 01/02/2018 XML_401_2017-12-27.rar v2.0.4.5
0409402 Сведения о расчетах между резидентами и нерезидентами за выполнение работ, оказание услуг, передачу информации, результатов интеллектуальной деятельности, операции неторгового характера и за товары, не пересекающие границу Российской Федерации 01/12/2017 XML_402_2016-05-19.rar v1.0.4.4
0409404 Сведения об инвестициях уполномоченного банка и его клиентов-резидентов (кроме кредитных организаций) в ценные бумаги, выпущенные нерезидентами, и в уставный капитал (доли) нерезидентов 01/01/2018 XML_404_2018-07-01.rar v1.1.4.5
0409405 Сведения об операциях с ценными бумагами, долями, недвижимым имуществом,  паями и вкладами в имущество, совершенных между резидентами и нерезидентами , а также об операциях между резидентами с иностранными ценными бумагами, недвижимым имуществом за рубежом, долями, паями и вкладами в имущество иностранных компаний 01/12/2017 XML_405_2018-06-18.rar v2.2.4
0409406 Сведения о расчетах резидентов с нерезидентами по операциям с производными финансовыми инструментами и прочим срочным сделкам 01/10/2017 XML_406_2016-07-27.rar v1.0.4.5
0409407 Сведения о трансграничных переводах физических лиц 01/12/2017 XML_407_2017-09-01.rar v1.0.4.5
0409410 Сведения об активах и пассивах уполномоченного банка по видам валют и странам 01/01/2018 XML_410_2017-03-31.rar v0.2.4.5
0409501 Сведения о межбанковских кредитах и депозитах 01/11/2017 XML_501_2017-06-28.rar v2.0.4.5
0409602 Информация о лицах, которым поручено проведение идентификации 01/01/2018 XML_602_2017-12-06.rar v1.0.4.5
0409603 Сведения об открытых корреспондентских счетах и остатках средств на них 01/11/2017 XML_603_2017-09-07.rar v2.0.4.5
0409608 Отчет по операциям ввоза и вывоза валюты Российской Федерации 01/01/2018 XML_608_2016-08-04.rar v0.1.4.5
0409634 Отчет об открытых валютных позициях 01/01/2018 XML_634_2017-04-25.rar v0.2.4.5
0409639 Справка о внутреннем контроле в кредитной организации 01/01/2019 XML_639_2016-10-18.rar v0.2.4.5
0409652 Оперативный отчет о движении средств в иностранной валюте на транзитных валютных счетах резидентов 01/11/2017 XML_652_2016-04-18.rar v0.1.4.3
0409664 Отчет о валютных операциях, осуществляемых по банковским счетам клиентов в уполномоченных банках 01/11/2017 XML_664_2016-04-13.rar v0.1.4.3
0409665 Отчет о валютных операциях, осуществление которых предусматривает постановку на учет контракта (кредитного договора) в уполномоченном банке 01/04/2018 XML_665_2018-02-26.rar v0.1.4.5
0409703 Сведения о деятельности центрального контрагента, качество управления которого признано удовлетворительным 01/10/2017 XML_703_2016-05-11.rar v0.1.4.3
0409706 Сведения об объемах внебиржевых сделок 01/01/2018 XML_706_2017-12-08.rar v2.1.4.5
0409707 Сведения об осуществлении брокерской, депозитарной деятельности и деятельности по управлению ценными бумагами 01/02/2018 XML_707_2018-01-16.rar v2.0.4.5
0409708 Сведения о работниках кредитной организации, осуществляющих функции, непосредственно связанные с осуществлением профессиональной деятельности на рынке ценных бумаг, или осуществляющих клиринговую деятельность и (или) функции центрального контрагента 01/01/2018 XML_708_2018-04-23.rar v2.0.4.5
0409709 Сведения о коллективном клиринговом обеспечении 01/10/2017 XML_709_2016-05-24.rar v0.1.4.4
0409710 Сведения об индивидуальном клиринговом обеспечении и ином обеспечении участника клиринга 01/10/2017 XML_710_2016-05-11.rar v0.1.4.5
0409711 Отчет по ценным бумагам 01/05/2018 XML_711_2018-04-17.rar v2.0.4.5
0409712 Сведения об индивидуальных инвестиционных счетах, открытых кредитной организацией – профессиональным участником рынка ценных бумаг 01/07/2018 XML_712_2018-03-01.rar v0.1.4.5
0409714 Справка о требованиях и обязательствах кредитной организации, связанных с осуществлением профессиональной деятельности на рынке ценных бумаг 01/10/2017 XML_714_2017-05-26.rar v0.1.4.5
0409715 Отчет о прекращении кредитной организацией обязательств, связанных с осуществлением профессиональной деятельности на рынке ценных бумаг 01/10/2017 XML_715_2016-10-05.rar v0.1.4.5
0409716 Сведения кредитной организации, осуществляющей клиринговую деятельность, об исполненных обязательствах, допущенных к клирингу, за отчетный период 01/01/2018 XML_716_2017-11-17.rar v0.1.4.5
0409720 Сведения о результатах стресс-тестирования рисков центрального контрагента 01/09/2018 XML_720_2018-07-26.rar v0.2.4.5
0409721 Сведения о результатах оценки точности модели центрального контрагента 01/04/2018 XML_721_2018-02-20.rar v0.1.4.5
0409722 Сведения об обязательных нормативах и о выделенном капитале центрального контрагента 09/01/2018 XML_722_2018-01-30.rar v0.1.4.5
0409723 Сведения об оценке непрерывности деятельности центрального контрагента 01/04/2018 XML_723_2018-02-27.rar v0.1.4.5
0409801 Отчет о составе участников банковской группы и вложениях кредитной организации в паи паевых инвестиционных фондов 01/01/2018 XML_801_2018-01-02.rar v2.0.4.5
0409802 (800I) Консолидированный балансовый отчет 01/01/2018 XML_800I_2018-03-14.rar v1.2.4.5
0409803 (800I) Консолидированный отчет о финансовых результатах
0409805 (800I) Расчет собственных средств (капитала) и значений обязательных нормативов банковской группы
0409806 (800P) Бухгалтерский баланс (публикуемая форма) 01/04/2018 XML_800P_2018-02-07.rar v2.0.4.5
0409807 (800P) Отчет о финансовых результатах (публикуемая форма)
0409808 (800P) Отчет об уровне достаточности капитала для покрытия рисков, величине резервов на возможные потери по ссудам и иным активам (публикуемая форма)
0409810 (800P) Отчет об изменениях в капитале кредитной организации (публикуемая форма)
0409813 (800P) Сведения об обязательных нормативах, показателе финансового рычага и нормативе краткосрочной ликвидности (публикуемая форма)
0409814 (800P) Отчет о движении денежных средств (публикуемая форма)
0409815 Отчет о финансовом положении кредитной организации 01/01/2018 XML_815_2016-09-23.rar v0.2.4.5
0409816 Отчет о совокупном доходе кредитной организации 01/01/2018 XML_816_2016-09-28.rar v0.3.4.5
0409817 Отчет о движении денежных средств кредитной организации 01/01/2018 XML_817_2016-10-07.rar v0.1.4.5
0409818 Отчет об изменениях в капитале кредитной организации 01/01/2018 XML_818_2016-10-07.rar v0.1.4.5
0409909 Информации о счетах, открытых казенным и бюджетным учреждениям, финансовым органам, государственным внебюджетным фондам и избирательным комиссиям в кредитных организациях (их филиалах) 01/04/2018 XML_909_2015-12-01.rar v0.7.4.2
0415001 Информация о рисках банковского холдинга 01/07/2018 XML_0415001_2017-09-25.rar v0.1.4.5
0415002 Отчет о составе участников банковского холдинга и вложениях в паи инвестиционных фондов 01/07/2018 XML_0415002_2018-05-30.rar v1.1.4.5
0415003 Информация об управляющей компании банковского холдинга и возложенных на нее обязанностях головной организации банковского холдинга 01/02/2018 XML_0415003_2017-09-25.rar v0.1.4.5
7504 Список участников (акционеров) кредитной организации (в электронном виде) 01/10/2017 XML_7504_2018-04-03.rar v1.2.4.5
800PZ Сканированные изображения примечаний пояснительной информации к бухгалтерской (финансовой) отчетности 01/07/2018 XML_800PZ_2014-04-01.rar v0.1.4.5
BICSW Данные для Справочника соответствия БИК и СВИФТ БИК 27/12/2017 XML_BICSW_2016-10-31.rar v0.1.4.5
FO_BH Сканированные изображения по финансовой отчетности банковских холдингов 01/07/2018 XML_FO_BH_2018-06-06.rar v1.1.4.5
INRBG Сканированные изображения Информация о принимаемых рисках, процедурах их оценки, управления рисками и капиталом 01/07/2018 XML_INRBG_2018-04-01.rar v0.1.4.5
INRKO Сканированные изображения Информация о принимаемых рисках, процедурах их оценки, управления рисками и капиталом 01/04/2018 XML_INRKO_2018-04-01.rar v0.1.4.5
MSAZ Сканированные изображения финансовой отчетности и аудиторского заключения по ней 01/07/2018 XML_MSAZ_2018-02-10.rar v0.1.4.5
MSPRIM Сканированные изображения примечаний финансовой отчетности 01/07/2018 XML_MSPRIM_2018-02-28.rar v0.1.4.5
OVPS Сведения о распоряжениях прямых участников платежной системы, представленных в платежный клиринговый центр (платежные клиринговые центры) платежной системы 01/01/2018 XML_OVPS_2017-01-31.rar v0.1.4.5
PUBL Сканированные изображения листов аудиторского заключения о достоверности публикуемой (публикуемой консолидированной) отчетности 01/07/2018 XML_PUBL_2018-01-01.rar v0.1.4.5
UP1 Сведения о сделках (операциях) кредитной организации с недвижимым имуществом 01/10/2017 XML_UP1_2017-06-15.rar v1.1.4.5
UP2 Сведения о гарантиях (поручительствах) кредитных организаций 01/10/2017 XML_UP2_2017-05-19.rar v1.1.4.5
UP3 Информация о срочных сделках кредитной организации 01/10/2017 XML_UP3_2017-05-19.rar v1.1.4.5
UP4 Перечень сделок, связанных с исполнением обязательств (группы связанных обязательств) 01/10/2017 XML_UP4_2017-10-11.rar v1.1.4.5
UP5 Сведения о финансовом положении заемщиков, эмитентов, принципалов, должников 01/10/2017 XML_UP5_2017-08-12.rar v1.1.4.5
UP6 Данные по 20 заемщикам, допустившим наибольшую величину просроченной ссудной задолженности 01/10/2017 XML_UP6_2017-09-25.rar v1.3.4.5
UPN1 Сведения о 100 юридических лицах — клиентах кредитной организации, приобретших наиболее крупные объемы иностранной валюты за период 01/10/2017 XML_UPN1_2017-09-19.rar v1.1.4.5
UPN2 Информация о размере вознаграждения, выплачиваемого кредитной организацией единоличному и коллегиальному исполнительным органам 01/10/2017 XML_UPN2_2016-08-03.rar v1.0.4.5

Введение в XML


XML — это программно-аппаратно-независимый инструмент для хранения и транспортировка данных.


Что такое XML?

  • XML означает расширяемый язык разметки
  • XML — это язык разметки, очень похожий на HTML
  • .
  • XML был разработан для хранения и передачи данных
  • XML был разработан, чтобы быть информативным
  • XML — это рекомендация W3C

XML ничего не делает

Может быть, это немного сложно понять, но XML ничего не делает.

Это записка Туве от Яни, хранящаяся как XML:

<Примечание>
Тове
Яни
Напоминание
Не забывай меня в эти выходные!

XML, приведенный выше, довольно информативен:

  • Имеется информация об отправителе.
  • Имеет информацию о приемнике
  • Имеет товарную позицию
  • Имеет тело сообщения.

Но все же приведенный выше XML ничего не делает. XML — это просто информация, заключенная в теги.

Кто-то должен написать программу для отправки, получения, хранить, или отображать:

Примечание

Кому: Тове

От: Яни

Напоминание

Не забывай меня в эти выходные!


Разница между XML и HTML

XML и HTML были разработаны для разных целей:

  • XML был разработан для передачи данных — с акцентом на то, что такое данные
  • HTML был разработан для отображения данных с упором на то, как данные выглядят
  • Теги XML не определены заранее, в отличие от тегов HTML


XML не использует предопределенные теги

В языке XML нет предопределенных тегов.

Теги в приведенном выше примере (например, и ) не определены ни в одном стандарте XML. Эти теги «придуманы» автором XML-документа.

HTML работает с предопределенными тегами, такими как

,

,

и т. Д.

В XML автор должен определить как теги, так и структуру документа.


XML является расширяемым

Большинство приложений XML будут работать должным образом, даже если добавлены новые данные (или удаленный).

Представьте себе приложение, предназначенное для отображения исходной версии note.xml. (<к> <от> <заголовок> <тело>).

Затем представьте более новую версию note.xml с добавленными и элементы и удаленный .

Способ построения XML, более старая версия приложения все еще может работать:

<Примечание>
1 сентября 2015 г.
08:30
Туве
Яни
Не забывай меня в эти выходные!

Старая версия

Примечание

Кому: Тове

От: Яни

Напоминание

Не забывай меня в эти выходные!

Новая версия

Примечание

Кому: Тове

От: Яни

Дата: 01.09.2015, 08:30

Не забывай меня в эти выходные!


XML упрощает вещи

  • Упрощает обмен данными
  • Упрощает передачу данных
  • Упрощает замену платформы
  • Упрощает доступность данных

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

XML хранит данные в текстовом формате. Это обеспечивает программное обеспечение и аппаратно-независимый способ хранения, транспортировки и обмена данными.

XML также упрощает расширение или обновление до новых операционных систем, новых приложений или новых браузеров без потери данных.

С помощью XML данные могут быть доступны для всех видов «чтения». машины », такие как люди, компьютеры, голосовые машины, ленты новостей и т. д.


XML — это рекомендация W3C

XML стал Рекомендацией W3C еще в феврале 1998 года.



Объяснение XML

Что такое XML?

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

В чем преимущества XML перед HTML?

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

Для иллюстрации рассмотрим следующие теги HTML: команда

сигнализирует абзац, а слово переводится в слово . HTML-теги исправлены; каждый разработчик сайта использует одни и те же теги для выполнения одних и тех же действий. XML, напротив, позволяет создавать собственные теги для обозначения значения или использования данных. Итак, если вы используете XML для описания продаваемого виджета, ваши теги могут выглядеть следующим образом: 100 $ »SKU =« 555432 »дилер =« Widgets Incorporated »>. = «Superwidget»>

Гибкость

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

Каковы бизнес-приложения XML?

Поскольку XML обеспечивает сложное кодирование данных на веб-сайтах, он помогает компаниям интегрировать свои информационные потоки.Создав единый набор тегов XML для всех корпоративных данных, можно беспрепятственно обмениваться информацией между веб-сайтами, базами данных и другими внутренними системами. Но революционная сила XML заключается в поддержке транзакций между предприятиями. Когда компания продает товар или услугу другой компании, необходимо обмениваться большим объемом информации — о ценах, сроках, спецификациях, графиках поставок и так далее. Универсальный характер HTML делает такой обмен через Интернет затруднительным, а то и невозможным.Благодаря XML вся необходимая информация может быть передана в электронном виде, что позволяет закрывать сложные сделки без вмешательства человека. Вот почему веб-рынки B2B, например, управляемые Ariba и Commerce One, уже полагаются на XML для автоматического сопоставления покупателей и продавцов. В недалеком будущем о вашей компании можно будет судить по содержимому ее тегов XML.

Но если отдельные компании создают свои собственные теги, как они будут делиться информацией друг с другом?

Это риск гибкости.Без стандартизированного синтаксиса одна компания может создавать уникальные теги, неузнаваемые для ее поставщиков и покупателей. Чтобы уменьшить эту опасность, многие словари XML создаются в таких областях, как финансы, математика, химия и электронная коммерция. Эти словари, встроенные в XML, стандартизируют определения тегов. Например, на Уолл-стрит JP Morgan и PricewaterhouseCoopers недавно предложили FpML, словарь, который стандартизировал бы теги XML для обмена иностранной валюты и других финансовых транзакций.Аналогичные усилия предпринимаются и в других отраслях.

Версия этой статьи появилась в выпуске Harvard Business Review за июль – август 2000 года.

Что такое XML-файл и как его открыть?

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

Что такое XML-файл?

XML-файл — это файл с расширяемым языком разметки, который используется для структурирования данных для хранения и транспортировки. В XML-файле есть как теги, так и текст. Теги обеспечивают структуру данных. Текст в файле, который вы хотите сохранить, окружен этими тегами, которые соответствуют определенным правилам синтаксиса. По своей сути XML-файл представляет собой стандартный текстовый файл, в котором используются настраиваемые теги для описания структуры документа и того, как его следует хранить и транспортировать.

Например, Microsoft Office версии 2007 и более поздних версий используют XML для структуры документа. Итак, когда вы сохраняете документ в Word, Excel или PowerPoint, вы получите заголовок документа с буквой «X» в конце. «X» означает XML. Для документа Word заголовок будет представлен с «.DOCX» в конце.

XML — это язык разметки, что означает, что это компьютерный язык, использующий теги для описания компонентов в файле. Этот язык разметки XML содержит реальные слова вместо синтаксиса программирования.Самые популярные языки разметки — HTML и XML. Возможно, вы уже знакомы с HTML, но XML имеет несколько ключевых отличий, например:

  • Цель: В HTML или языке разметки гипертекста информация отображается, а в XML эта информация передается. Обычно для кодирования веб-страниц используется HTML. С другой стороны, XML — это язык описания данных, который используется для хранения данных.
  • Возможность настройки: HTML использует предварительно выбранный диапазон символов разметки или коротких кодов, которые описывают представление содержимого веб-страницы.И наоборот, XML является расширяемым и позволяет пользователям настраивать и создавать свои собственные символы разметки. Таким образом, с помощью XML пользователи получают полный контроль и могут создавать неограниченный набор символов для описания своего содержимого.

Преимущества XML

Использование файлов XML выгодно по многим причинам, в том числе:

  • Читаемость: Для аналитика данных данные должны быть легко доступны и читаемы. XML-файлы легко понять, потому что они используют человеческий язык с реальными словами, а не компьютерный язык.Например, имена тегов XML четко определяют и объясняют данные. Каждый тег расположен перед своими данными, поэтому информация аккуратна и организована. Кроме того, поскольку обмен данными осуществляется с помощью языка разметки XML, компьютеры легко обрабатывают файлы XML.
  • Совместимость: XML-файлы совместимы с Java и полностью переносимы, что означает, что вы можете получать доступ к данным и передавать их в любое время и из любого места. Все, что вам нужно, это приложения, которые могут обрабатывать XML, а затем вы можете хранить и передавать свои данные.
  • Настройка: В качестве расширяемого языка разметки XML позволяет пользователям создавать свои собственные теги или использовать теги, созданные другими пользователями. Если вы используете теги от других пользователей, вам необходимо убедиться, что теги используют естественный язык вашего домена и имеют необходимые вам функции. Пользователи могут создавать неограниченное количество тегов в XML.

Распространенное использование XML

XML имеет множество применений в широком диапазоне веб-страниц и приложений.Некоторые распространенные варианты использования XML включают:

  • Веб-публикация: С помощью XML пользователи могут создавать и настраивать интерактивные веб-страницы. После того, как данные сохранены в XML, вы можете управлять содержимым для разных пользователей или нескольких устройств. Вам нужно будет убедиться, что вы проверяете обработку таблицы стилей на этом пути. Может быть полезно использовать расширяемый процессор преобразования языка таблиц стилей, который позволит вам преобразовывать XML-файл в другие макеты, такие как HTML для веб-страниц.В бизнесе использование XML таким образом будет задачей веб-разработчика.
  • Веб-задачи: XML можно использовать для веб-поиска и автоматизации задач. Таким образом, XML проверяет информацию в файле, что упрощает получение лучших результатов при выполнении веб-поиска. Например, если пользователь выполняет поиск в Интернете автора по имени Джим Грин, используя HTML, на странице результатов поиска могут отображаться другие вхождения термина «зеленый», кроме автора. Но если вы используете XML, поиск в Интернете ограничивается необходимой вам информацией, то есть информацией, найденной в теге.
  • Общие приложения: Все виды приложений могут извлечь выгоду из XML, поскольку он предлагает упрощенный метод доступа к информации. Этот простой процесс позволяет как приложениям, так и устройствам использовать, хранить, передавать и отображать данные. Например, на рабочем месте архитекторы данных и программисты ежедневно используют XML.

Как открыть файл XML

Работа с файлами XML относительно проста даже для новичка. Существует несколько различных методов открытия файла XML: открыть файл и отредактировать его в текстовом редакторе или открыть и просмотреть файл в веб-браузере.

Шаги для открытия XML-файла с помощью текстового редактора включают:

  1. Щелкните правой кнопкой мыши XML-файл, который вы хотите открыть.
  2. Укажите на « Открыть с помощью » в контекстном меню.
  3. Щелкните опцию « Блокнот ».

Текстовые редакторы Notepad и Notepad ++ являются хорошими вариантами для открытия файлов XML. Однако в Блокноте вы можете открыть XML-файл, но форматирование может стать хаотичным и запутанным. В этом случае может быть лучше использовать Notepad ++, потому что он остается верным исходному форматированию файла.

Чтобы открыть файл XML для просмотра в веб-браузере, выполните следующие действия:

  1. Откройте веб-браузер по умолчанию.
  2. Дважды щелкните файл XML, и он должен открыться в вашем браузере.
  3. Если он не открывается, щелкните файл правой кнопкой мыши, чтобы найти список параметров для его открытия в других программах.
  4. Теперь вы можете выбрать свой веб-браузер из списка программ.

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

Формат файла XML

Что такое файл XML?

XML означает Extensible Markup Language, который похож на HTML , но отличается использованием тегов для определения объектов. Вся идея создания формата файла XML заключалась в том, чтобы хранить и передавать данные вне зависимости от программных или аппаратных средств.Его популярность объясняется тем, что он удобен как для человека, так и для машин. Это позволяет ему создавать общие протоколы данных в форме объектов, которые будут храниться и совместно использоваться в сети, такой как World Wide Web (WWW). «X» в XML означает расширяемость, что означает, что язык может быть расширен до любого количества символов в соответствии с требованиями пользователя. Именно для этих функций он используется во многих стандартных форматах файлов, таких как Microsoft Open XML, LibreOffice OpenDocument, XHTML и SVG .

Формат файла XML

Формат файла XML основан на объектной модели документа XML (DOM), которая представляет собой программный API для документов HTML и XML. XML DOM определяет стандартный метод доступа к элементам XML-документа и управления ими. Он создает представление XML-документа в виде древовидной структуры, которое можно использовать для доступа ко всем элементам через дерево DOM. Существующие элементы могут быть изменены / удалены, а также могут быть созданы новые элементы в дереве XML. Каждый элемент XML-документа называется узлом.XML DOM показан на следующем изображении.

Универсальный подход XML

Сила XML делает его универсальным языком для передачи данных по сети, упрощая транспортировку данных и изменение платформы. Это также гарантирует возможность обмена данными между несовместимыми системами за счет хранения данных в текстовом формате. HTML предназначен для представления данных через Интернет, а XML — для обмена данными. Пары тегов разметки, используемые внутри XML, определяют ключевые элементы структуры, которые будут использоваться приложениями для чтения.

Пример XML

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

  <КАТАЛОГ>
  
     Империя бурлеска 
     Боб Дилан 
     США 
     Колумбия 
     10,90 
     1985 
  
  
     Спрячь свое сердце 
     Бонни Тайлер 
     Великобритания 
     Записи CBS 
    <ЦЕНА> 9.90 
     1988 
  
  
     Лучшие хиты 
     Долли Партон 
     США 
     RCA 
     9,90 
     1982 
  
  
     Все еще есть блюз 
     Гэри Мур 
     Великобритания 
     Virgin Records 
    <ЦЕНА> 10.20 
     1990 
  
  
     Эрос 
     Эрос Рамазотти 
     ЕС 
     BMG 
     9,90 
     1997 
  
  

  

Ссылки

Введение в XML — XML: Extensible Markup Language

XML (Extensible Markup Language) — это язык разметки, похожий на HTML, но без предопределенных тегов для использования.Вместо этого вы определяете свои собственные теги, разработанные специально для ваших нужд. Это мощный способ хранения данных в формате, который можно хранить, искать и совместно использовать. Что наиболее важно, поскольку основной формат XML стандартизован, если вы делитесь или передаете XML между системами или платформами, локально или через Интернет, получатель по-прежнему может анализировать данные благодаря стандартизированному синтаксису XML.

Существует множество языков, основанных на XML, включая XHTML, MathML, SVG, XUL, XBL, RSS и RDF.Вы также можете определить свои собственные.

Эта часть статьи находится в процессе написания …

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

Декларация XML

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

    
Атрибуты:
версия:
В этом документе использована версия XML.
кодировка:
Используемая кодировка в этом документе.

Правила правильного проектирования

Чтобы XML-документ был правильным, должны выполняться следующие условия:

  • Документ должен быть правильно оформлен.
  • Документ должен соответствовать всем правилам синтаксиса XML.
  • Документ должен соответствовать семантическим правилам, которые обычно устанавливаются в схеме XML или DTD (определение типа документа ) .

Пример

  
<сообщение>
    <предупреждение>
        Привет мир
    

  

Теперь давайте посмотрим на исправленную версию того же документа:

  
<сообщение>
    <предупреждение>
         Привет мир
    

  

Недопустимый документ, содержащий неопределенный тег. Например, если мы никогда не определяли тег , приведенный выше документ не был бы действительным.

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

Как и HTML, XML предлагает методы (называемые объектами) для ссылки на некоторые специальные зарезервированные символы (например, знак «больше», используемый для тегов).Вам следует знать пять из этих персонажей:

Организация Персонаж Описание
& lt; < Знак меньше
& gt;> Знак больше
& amp; и Амперсанд
& quot; « Одна двойная кавычка
Один апостроф (или одинарная кавычка)

Несмотря на то, что заявлено всего 5 сущностей, можно добавить больше с помощью определения типа документа.Например, чтобы создать новый & warning; , вы можете это сделать:

 

]>

  <сообщение> & предупреждение; 

 

Вы также можете использовать числовые ссылки на символы для указания специальных символов; например, & # xA9; это символ «©».

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

Один из способов стилизации вывода XML — указать CSS для применения к документу с помощью инструкции обработки xml-stylesheet .

  

Существует также еще один более мощный способ отображения XML: Extensible Stylesheet Language Transformations (XSLT), который можно использовать для преобразования XML в другие языки, такие как HTML.Это делает XML невероятно универсальным.

  

Очевидно, что эта статья представляет собой лишь очень краткое введение в то, что такое XML, с несколькими небольшими примерами и ссылками для начала. Для получения дополнительных сведений о XML вам следует поискать в Интернете более подробные статьи.

Изучение языка гипертекстовой разметки (HTML) поможет вам лучше понять XML.

Вышеуказанная статья «Использование XML» — отличный источник информации для преобразования и создания вашего собственного языка.

Описание формата файла XML

XML или Extensible Markup Language — это файл данных, в котором используются теги для определения объектов и атрибутов объектов. Это универсальная спецификация, разработанная для замены HTML с целью предоставления более структурированных документов. XML — это бесплатный открытый стандарт, рекомендованный Консорциумом Всемирной паутины (W3C).

XML, производный от SGML (ISO 8879), представляет собой простой и гибкий текстовый формат, который легко читается людьми и понимается машинами.Формат очень похож на HTML, за исключением того, что в нем используются теги для определения объектов и данных внутри объектов. Для правильного оформления документа на обоих концах должны быть теги. Другими словами, он должен начинаться с тега () и заканчиваться тегом (/). Если какой-либо из тегов отсутствует, документ является неполным. Что касается атрибутов в тегах, они должны быть заключены в одинарные или двойные кавычки. Если элемент пустой, он должен быть помечен самозакрывающимся тегом.

Существует несколько различных методов обработки файлов XML, включая использование языка программирования и SAX API или DOM API; или синтаксический анализ по запросу, или синтаксический анализ на месте.

XML-файлы имеют простую иерархическую структуру, позволяющую применять их в широком спектре приложений, таких как базы данных, Java, электронная коммерция, веб-разработка, поиск и т. Д. Он не зависит от платформы, что делает его невосприимчивым к технологическим изменениям. Он также поддерживает Unicode, что означает, что он позволяет общаться практически на любом человеческом языке. Все эти важные функции сделали файлы XML широко используемым средством хранения и передачи данных между программами и Интернетом.

Файлы XML с расширением .xml можно легко открывать и редактировать с помощью любого редактора HTML или XML; или преобразованы в CSV, JSON, XLS, PDF, HTML, ODS, TXT или другие форматы с помощью Total XML Converter.

Total XML Converter
преобразует электронные таблицы XML во все возможные форматы:

Определение типа документа XML (DTD)

Определение типа XML-документа — это формальное выражение (в XML) структурных ограничений для класса XML-документов.Конструкции языка DTD — это объявления списков элементов и атрибутов. Объявления элементов называют элементы, разрешенные в документе этого типа, и указывают, могут ли и как объявленные элементы и серии символьных данных содержаться в каждом элементе. Объявления списка атрибутов называют разрешенные атрибуты для каждого объявленного элемента, включая тип каждого значения атрибута, если это не явный набор допустимых значений. DTD связывается с XML-документом через объявление типа документа, которое представляет собой тег, который появляется в начале XML-документа.Объявление устанавливает, что документ является экземпляром типа, определенного указанным DTD. Эти объявления в документе XML могут быть внутренними или внешними. Внутренние объявления DTD указываются в начале XML-документа и должны быть заключены в определение . Пример внутреннего объявления из учебника W3schools DTD выглядит следующим образом:

]>

<примечание>

Тове

Яни

Напоминание

Не забывай меня в эти выходные

DTD также могут быть объявлены во внешнем файле в начале XML-документа.