• XML
  • HTML
  • SAML
  • передача данных

Что такое XML?

XML — это универсальный язык разметки для структурирования и передачи данных. Он предлагает настраиваемые теги, иерархическую структуру и определения схем. В отличие от HTML, XML сосредоточен на представлении данных, а не их отображении. Он широко используется в различных приложениях, включая настройки SSO, такие как реализация SAML от Logto.

Darcy Ye
Darcy Ye
Developer

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

XML был создан Консорциумом Всемирной паутины (W3C) в 1996 году. Целью W3C было создать язык, который мог бы помогать определять типы документов и предоставлять возможность создавать собственные теги. Полученный тип языка разметки позволяет определять, как данные на странице размечаются перед их передачей в виде XML-файла другой системе. Пока две системы используют один и тот же язык XML (с тегами, которые они могут обе интерпретировать), обе системы могут "понимать" формат XML-файла. Когда XML правильно задействован, это гарантирует, что любой файл данных может быть сохранен, передан и затем использован, воспроизводя абсолютно те же данные и структуру каждый раз при его доступе.

Пример содержимого XML

Данные XML состоят из текста в цифровом файле. Подобно HTML, вы создаете необходимый "код" для XML-файлов, вставляя теги, чтобы указать, как текст должен интерпретироваться. Например:

Этот пример показывает трех пользователей. Содержимое XML включает имя, имя пользователя, электронную почту и уровень пользователя.

Это создает XML-документ, который может быть передан и прочитан между поставщиками идентификации и поставщиками ресурсов.

Важно, что приведенный выше пример демонстрирует иерархическую природу XML-документов. Например:

  • Содержимое первой строки <?xml version="1.0" encoding="UTF-8"?> является объявлением XML, которое указывает версию и кодировку
  • В XML-документе должен быть корневой элемент, который в данном примере — <users>
  • Все остальные элементы, содержащиеся внутри корневого элемента, называются "дочерними элементами"
  • В приведенном выше примере есть 3 дочерних элемента, отмеченных тегом <user>
  • Внутри дочерних элементов <user> есть несколько других дочерних элементов, таких как <name>, <username>, <email> и <level>
  • На теге <user> также есть id, который называется атрибутом XML. Элемент не может содержать несколько атрибутов с одинаковым именем

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

Что такое схема XML?

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

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

Что такое синтаксис XML?

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

XML против HTML

Если вы знакомы с HTML, способ разметки XML-файлов будет вам очень знаком, но есть ключевая разница между этими двумя языками разметки — их случаи использования и цели различаются:

  • HTML — это Язык разметки, используемый для того, чтобы помочь браузерам понять, как отображать содержимое на экране
  • XML — это Язык разметки, используемый для хранения, отображения и передачи данных

Кроме этого, у них есть некоторые другие различия:

  1. Поскольку HTML предназначен для отображения содержания страниц для браузеров, его типы тегов предопределены, в то время как теги XML могут быть настроены в соответствии с фактическими ситуациями
  2. HTML часто статичен, поскольку используется для отображения содержимого; XML динамичен, поскольку используется для передачи данных
  3. HTML не поддерживает пространства имен, а XML может использовать пространства имен для различения тегов, которые могут иметь одинаковое имя, но разные контексты, чтобы избежать путаницы

В этом примере:

  • tech:title использует <http://www.example.com/tech> в качестве пространства имен, указывая, что этот элемент <title> принадлежит пространству имен tech
  • bio:author использует <http://www.example.com/bio> в качестве пространства имен, указывая, что этот элемент <author> принадлежит пространству имен bio

Как XML используется в Logto?

Logto поддерживает протокол SAML для SSO. При настройке SSO поставщик идентификации предоставляет файл конфигурации в формате XML, который включает в себя важные настройки, такие как сертификаты и URL для единого входа.

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