Поиск…


замечания

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:

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

    <?xml version="1.0" encoding="UTF-8"?>
    
  2. Должен быть ровно один элемент верхнего уровня.

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

    <?xml version="1.0"?>
    <!-- some comments -->
    <?app a processing instruction?>
    <root/>
    <!-- some more comments -->
    
  3. Элементы могут входить, но должны быть «правильно вложены»:

    <name>
      <first-name>John</first-name>
      <last-name>Doe</last-name>
    </name>
    

    Начальный и конечный теги встроенного элемента должны находиться в начале и конце тегов его элемента контейнера. Перекрытие элементов является незаконным. В частности, это не правильно сформированный XML: <foo><bar></foo></bar>

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

    <person first-name="John" last-name="Doe"/>
    

    Это неверно: <person></person first-name="John"/>

  5. Комментарии, инструкции по обработке, текст и другие элементы могут появляться в любом месте внутри элемента (т. Е. Между его тегом открытия и закрытия), но не внутри тегов.

    <element>
        This is some <b>bold</b> text.
        <!-- the b tag has no particular meaning in XML -->
    </element>
    

    Этот пример не является корректным: <element <-- comment --> />

  6. Символ < может не отображаться в тексте или в значениях атрибута.

  7. " Символ не может появиться в значениях атрибутов, которые котируются с " . Символ ' не может отображаться в значениях атрибутов, которые указаны с помощью ' .

  8. Последовательность символов -- может не отображаться в комментарии.

  9. Литеральные символы < и & должны быть экранированы их соответствующими объектами &lt; и &amp; ,

Привет, мир

<?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>

Более подробную информацию об пространствах имен можно найти в этом разделе



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow