Расширяемый язык разметки | |
Статус | Опубликован, Рекомендация W3C |
---|---|
Год начала | 1996; 24 года назад (1996 г.) |
Впервые опубликовано | 10 февраля 1998 г.; 22 года назад (1998-02-10) В качестве рекомендации |
Последняя версия | 1.1 (второе издание). 29 сентября 2006 г.; 14 лет назад (29.09.2006) |
Организация | Консорциум World Wide Web (W3C) |
Редакторы |
|
Базовые стандарты | SGML |
Связанные стандарты | Схема XML |
Домен | Данные сериализация |
Аббревиатура | XML |
Веб-сайт | w3.org/TR/xml11 |
Расширение имени файла | .xml |
---|---|
Тип Интернет -носителя |
|
Uniform Type Identifier (UTI) | public.xml |
UTI conformation | public.text |
Magic number |
|
Разработано от | Консорциума World Wide Web |
Тип формата | Язык разметки |
Расширен с | SGML |
Расширен до |
|
Standard |
|
Открытый формат ? | Да |
Extensible Markup Language (XML ) - это язык разметки, котор ый установить набор правил для кодирования документов в формат, который является одновременно читаемым человеком и машиночитаемым. Спецификация XML 1.0 от 1998 г. Консорциума Всемирной паутины и несколько других связанных спецификаций - все они бесплатные открытые стандарты - определяют XML.
Цели проектирования XML подчеркивает простоту, универсальность и удобство использования в Интернете. Это текстовый формат данных с сильной поддержкой через Unicode для различных человеческих языков. Хотя дизайн XML ориентирован на документы, этот язык широко используется для представления произвольных структур данных, таких как те, которые используются в веб-сервисах.
Существует несколько систем схем , чтобы помочь в определении языков на основе XML, в то время как программисты разработали множество интерфейсов прикладного программирования (API) для помощи в обработке данных XML.
Суть того, почему необходимы расширяемые языки разметки, объясняется в Язык разметки (Например, см. Язык разметки § XML ) и Стандартный обобщенный язык разметки.
Были разработаны сотни форматов документов с использованием синтаксиса XML, включая RSS, Atom, SOAP, SVG и XHTML. Форматы на основе XML по умолчанию для многих офисных инструментов, включая Microsoft Office (Office Open XML ), OpenOffice.org и LibreOffice. (OpenDocument ) и Apple iWork. XML также предоставил базовый язык для протоколов связи, таких как XMPP. Приложения для Microsoft .NET Framework используют файлы XML для конфигурации, а списки свойств предоставляют собой хранилище конфигурации, построенного на XML.
Многие отраслевые стандарты данных, такие как Уровень здоровья 7, OpenTravel Alliance, FpML, MISMO и Национальная модель обмена информацией основаны на XML и разнообразных функциях спецификации схем XML. Многие из этих стандартов стандартов сложны, и нередко указаны несколько тысяч страниц. В публикации Darwin Information Typing Architecture является отраслевым стандартом данных XML. XML широко используется для поддержки различных форматов публикации.
XML широко используется в сервис-ориентированной архитектуре (SOA). Разрозненные системы взаимодействуют друг с другом посредством обмена XML-сообщениями. Формат обмена сообщениями стандартизирован как XML-схема (XSD). Это также называется канонической схемой. XML стал откровенно для обмена сообщениями через Интернет. IETF RFC: 3023, теперь замененный RFC: 7303, дал правила для создания типов Интернет-носителей для использования при отправке XML. Он также определяет типы носителей application / xml
и text / xml
, которые говорят только о том, что данные находятся в XML, и ничего не о его семантике.
RFC 7303 также рекомендуют языкам на основе типов носителей XML, оканчивающиеся на + xml
; например, image / svg + xml
для SVG. Дополнительные инструкции по использованию XML в сетевом существующем в RFC 3470, также известном как IETF BCP 70, документ, охватывающий многие аспекты разработки и развертывания языка на основе XML.
Материал в этом разделе основан на Спецификации XML. Это не исчерпывающий список всех конструкций, которые появляются в XML; Он обеспечивает введение в ключевые модели, наиболее часто встречающиеся в повседневном использовании.
Символ
Процессор и приложение
Разметка и контент
<
и заканчиваются >
, либо они начинаются с символом
и заканчиваются ;
. Строки символов, не являющиеся разметкой, являются содержимым. Тем не менее, в разделе CDATA разделители и hibitedune>
классифицируются как разметка, а текст между ними классифицируется как контент. Кроме того, пробелы до и после самого внешнего элемента классифицируются как разметка.
Тег
<
и заканчивается >
. Теги бывают трех видов:
;
;
.Элемент
Привет, мир!
. Другой -
.Атрибут

, где именаов - «src» и «alt», а их значения - «madonna.jpg» и «Мадонна» соответственно. Другой пример - Соединить A с B.
, где имя атрибута - «число», а его значение - «3». Атрибут XML может иметь только одно значение, и каждый атрибут может появляться не более одного раза в каждом элементе. В обычной ситуации, когда используется список из нескольких значений, это должно быть сделано путем кодирования списка в правильно сформированном XML с некоторым форматом, выходным за рамки того, что XML определяет сам. Обычно это список, разделенный запятой или с запятой, или, если известно, что отдельные значения не содержат пробелов, можно использовать список, разделенный пробелами. Welcome!
, где атрибут «class» имеет значение «внутреннее приветствие-поле», а также указывает на два имени класса CSS «inner» и «welcome- box ".Объявление XML
.XML-документы, состоящие полностью из символов из репертуара Unicode. За исключением небольшого числа, специально исключенного управляющих символов, любого символа, определенного Unicode, который может находиться в содержимом XML-документа.
XML включает средства для идентификации кодировки
Кодовые точки Unicode в следующих диапазонах действительны в документах XML 1.0:
XML 1.1 расширяет набор разрешенных символов, включая все вышеперечисленное, плюс оставшиеся символы в диапазоне U + 0001 - U + 001F. Однако в то же время он ограничивает использование управляющих символов C0 и C1, кроме U + 0009 (горизонтальная табуляция), U + 000A (перевод строки), U + 000D (возврат каретки) и U + 0085 (Следующая строка), требуя, чтобы они были записаны в экранированной форме (например, U + 0001 должен быть записан как или его эквивалент). В случае символов C1 это ограничение является несовместимым; он был введен, чтобы обнаружить распространенные ошибки кодирования.
Кодовая точка U + 0000 (Null) - единственный символ, который не разрешен в любом документе XML 1.0 или 1.1.
Набор символов Unicode может быть закодирован в байты для хранения или множеством различных способов, называемых «кодировками». Сам Unicode определяет кодировки, охватывающие весь репертуар; широко известные: UTF-8 и UTF-16. Есть много других кодировок текста, предшествующих Unicode, например, ASCII и ISO / IEC 8859 ; их репертуар символов почти в каждом случае является подмножеством набора символов Unicode.
XML позволяет использовать любые из определенных кодировок Unicode, а также любые другие кодировки, символы, которых также присутствуют в Unicode. XML также механизм, с помощью которого процессор XML может надежно, без каких-либо предварительных знаний, определять какая кодировка используется. Кодировки, отличные от UTF-8 и UTF-16, не обязательно распознаются каждым анализатором XML.
XML предоставляет возможности escape для включения символов, которые проблематично включить напрямую. Например:
) "" и пробел (
) "", а кириллическая заглавная буква A (А
) "А" и латинская заглавная буква A (А
) «А».Имеется пять предопределенных сущностей :
<
представляет «<";>
представляет«>»;
представляет "";'
представляет "'";"
представляет '"'.Все разрешенные символы Unicode могут быть представлены с ссылка на числовой символ. Рассмотрим китайский символ «中», числовой код которого в Юникоде - шестнадцатеричный 4E2D или десятичный 20 013. Пользователь, чья клавиатура не предлагает метода ввода этого символа, все равно может вставить его в XML-документ, закодированный как 中
или 中
. Точно так же строка «I <3 Jörg» может быть закодирована для включения в XML-документ как I <3 Jörg
.
, однако не допускается, поскольку нулевой символ является одним из управляющих символов, исключенных из XML, даже при использовании числовой символьной ссылки. Для представления таких символов необходим альтернативный механизм кодирования, такой как Base64.
Комментарии могут появляться в любом месте документа за пределами разметки. Комментарии могут быть представлены перед объявлением XML. Комментарии начинаются с . Для совместимости с SGML строка «-» (двойной дефис) не допускаются внутри комментариев; это означает, что комментарии не могут быть вложенными. Амперсанд не имеет особого значения в комментариях, поэтому на сущности и символы не распознаются как таковые, и нет способа представить символы вне символов кодировки документа.
Пример правильного комментария: