xml учебник
Начало работы с xml
Поиск…
замечания
XML - это язык разметки, используемый для хранения иерархических данных в текстовых файлах. Он также известен как полуструктурированные данные, такие как JSON. XML является машиносчитываемым, но его также можно читать и производить людьми.
XML состоит из элементов, иногда случайно называемых суп-тегами , которые сами могут содержать другие элементы и / или текст. Элементы могут также содержать атрибуты.
XML часто используется для обмена данными между платформами, особенно через Интернет. Он также все чаще используется для хранения полуструктурированных данных в хранилищах данных NoSQL (базы данных XML / хранилища документов). Кроме того, он обладает гибкостью для обработки документированных данных (текст с разметкой), что делает его очень популярным в издательской индустрии. XML также широко используется для файлов конфигурации.
Одной из основных причин, почему XML так широко используется, является то, что он стандартизован, и доступно множество парсеров, включая open source. Это делает стоимость использования XML ниже, чем изобретение собственного нового синтаксиса.
Более подробную информацию о происхождении и целях XML можно найти в официальной Рекомендации W3C .
Существуют две версии XML, приведенные в таблице ниже. Издания каждой версии - это просто исправления исходных документов, а не изменения стандартов.
Первая версия XML - 1.0 . Первоначально XML 1.1 был изменен из-за изменения версии Unicode от 2.0 до 3.1 и задает набор новых правил для использования и интерпретации новых символов Юникода.
Версии
Версия | Дата выхода |
---|---|
1,0 | 1998-02-10 |
1,1 | 2001-12-13 |
Установка или настройка
XML - это синтаксис, что означает, что для начала достаточно простого текстового редактора.
Тем не менее, наличие редактора, специфичного для XML, который показывает вам, когда и где ваш документ не является хорошо сформированным, почти незаменим для производительности. Такие редакторы могут также позволить вам проверять XML-документы на основе XML-схемы или даже генерировать XML-схемы из XML-документов (и наоборот).
Некоторые примеры редакторов - oXygen, Atom, Eclipse и Altova XMLSpy. Альтернативным решением является использование XML-анализатора командной строки, такого как Apache Xerces.
Основные строительные блоки
XML состоит из основных строительных блоков, которые:
- элемент
- текст
- атрибуты
- Комментарии
- инструкции по обработке
Элемент имеет угловые скобки:
<element/>
<element>some content</element>
Атрибут появляется в теге элемента открытия:
<element
attribute-name="attribute value"
other-attribute='single-quoted value'>
...
</element>
Текст может отображаться в любом месте внутри или между элементами:
<element>some more <b>bold</b> text</element>
Комментарии используют следующий синтаксис. Важно знать, что комментарии XML, в отличие от языков программирования, являются частью модели и будут видны приложению над парсером.
<!-- this is a comment -->
Инструкции по обработке позволяют передавать сообщения потребляющему приложению (например, как отображать, или таблицу стилей и т. Д.). XML не ограничивает формат инструкций обработки.
<?target-application these are some instructions?>
Более подробную информацию о строительных блоках можно найти в этом разделе
Ну сформированности
XML-документ представляет собой текстовый файл, который соответствует правилам корректности XML-спецификации. Такой согласованный документ считается хорошо сформированным (не путать с действительным ). XML очень строг с корректностью по сравнению с другими языками, такими как HTML. Текстовый файл, который не является корректным, не считается XML и не может быть использован при использовании приложений вообще.
Вот некоторые правила, которые применяются к документам XML:
XML использует многоочевидный синтаксис. Пролог определяет версию XML и кодировку символов:
<?xml version="1.0" encoding="UTF-8"?>
Должен быть ровно один элемент верхнего уровня.
Однако комментарии, инструкции по обработке, а также начальное объявление XML допускаются также на верхнем уровне. Текст и атрибуты отсутствуют.
<?xml version="1.0"?> <!-- some comments --> <?app a processing instruction?> <root/> <!-- some more comments -->
Элементы могут входить, но должны быть «правильно вложены»:
<name> <first-name>John</first-name> <last-name>Doe</last-name> </name>
Начальный и конечный теги встроенного элемента должны находиться в начале и конце тегов его элемента контейнера. Перекрытие элементов является незаконным. В частности, это не правильно сформированный XML:
<foo><bar></foo></bar>
Атрибуты могут отображаться только в тегах открывающего элемента или пустых тегах элементов, а не в закрывающих тегах элемента. Если синтаксис атрибута появляется между элементами, он не имеет смысла и анализируется как текст.
<person first-name="John" last-name="Doe"/>
Это неверно:
<person></person first-name="John"/>
Комментарии, инструкции по обработке, текст и другие элементы могут появляться в любом месте внутри элемента (т. Е. Между его тегом открытия и закрытия), но не внутри тегов.
<element> This is some <b>bold</b> text. <!-- the b tag has no particular meaning in XML --> </element>
Этот пример не является корректным:
<element <-- comment --> />
Символ
<
может не отображаться в тексте или в значениях атрибута."
Символ не может появиться в значениях атрибутов, которые котируются с"
. Символ'
не может отображаться в значениях атрибутов, которые указаны с помощью'
.Последовательность символов
--
может не отображаться в комментарии.Литеральные символы
<
и&
должны быть экранированы их соответствующими объектами<
и&
,
Привет, мир
<?xml version="1.0"?>
<?speech-generator voice="Siri"?>
<root xmlns:vocabulary="http://www.example.com/vocabulary">
<!-- These are the standard greetings -->
<vocabulary:greetings>
<vocabulary:greeting xml:lang="en-US" type="informal">
Hi!
</vocabulary:greeting>
<vocabulary:greeting xml:lang="en-US" type="intermediate">
Hello!
</vocabulary:greeting>
<vocabulary:greeting xml:lang="en-US" type="formal">
Good morning to <b>you</b>!
</vocabulary:greeting>
</vocabulary:greetings>
</root>
Пространства имен
Имена элементов и атрибутов живут в пространствах имен, которые являются URI. Пространства имен привязаны к префиксам, которые используются в фактических именах элементов и атрибутов, которые называются QNames.
Этот документ связывает пространство имен с префиксом prefix
и определяет пространство имен по умолчанию, связанное с отсутствием префикса.
<?xml version="1.0"?>
<document
xmlns="http://www.example.com/default-namespace"
xmlns:prefix="http://www.example.com/another-namespace">
<prefix:element/>
</document>
Более подробную информацию об пространствах имен можно найти в этом разделе