форум
22.08.2019
Просмотров: 119
Другое

Какова цель сотворения XML?

alex2

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

XML употребляется для конструирования Web-страниц. XML рекомендован Консорциумом Глобальной сети и практически представляет собой свод общих синтаксических правил. XML — текстовый формат, созданный для хранения структурированных данных (взамен имеющихся файлов баз данных), для обмена информацией меж программками, также для сотворения на его базе более специализированных языков разметки (к примеру, XHTML), время от времени именуемых словарями. XML является упрощённым подмножеством языка SGML.

Целью сотворения XML было обеспечение сопоставимости при передаче структурированных данных меж различными системами обработки материала, отдельно при передаче подобных данных через Интернет. Словари, основанные на XML (к примеру, RDF, RSS, MathML, XHTML, SVG), сами по для себя формально описаны, что позволяет программно изменять и инспектировать документы на базе этих словарей, не зная их семантики, другими словами не зная смыслового значения частей. Принципиальной особенностью XML также является применение так именуемых пространств имён (англ. namespace).

История

Годом рождения XML есть возможность считать 1996 год, в конце которого появился предварительный вариант спецификации языка, либо 1998 года, когда эта спецификация была утверждена. А началось всё с возникновения в 1986 году языка SGML.

SGML (англ. Standard Generalized Markup Language — стандартный обобщённый язык разметки) заявил о для себя как гибкий, полный и комплексный мета-язык для сотворения языков разметки. Невзирая на то, что понятие гипертекста появилось в 1965 году (а основополагающие принципы сформулированы в 1945 году), SGML не имеет гипертекстовой модели. Создание SGML есть возможность с уверенностью именовать попыткой объять неохватное, потому что он соединяет воединыжды внутри себя такие способности, которые очень изредка употребляются все совместно. В этом и состоит его главный недочет — сложность и, как следствие, накладность этого языка ограничивает его внедрение только большими компаниями, которые могут позволить для себя приобрести соответственное программное обеспечение и нанять высокооплачиваемых профессионалов. Не считая того, у маленьких компаний изредка появляются так сложные задачки, чтоб завлекать к их решению SGML.

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

Плюсы XML

  • XML — язык разметки, позволяющий показать двоичные данные в текст, читаемый человеком и анализируемый компом;
  • XML поддерживает Юникод;
  • в формате XML могут быть описаны такие структуры данных как записи, списки и деревья;
  • XML — это самодокументируемый формат, который обрисовывает структуру и имена полей так же как и значения полей;
  • XML имеет строго определённый синтаксис и требования к анализу, что позволяет ему оставаться обычным, действенным и непротиворечивым. Вместе с этим с этим, различные разработчики не ограничены в выборе экспрессивных способов (к примеру, есть возможность моделировать данные, помещая значения в характеристики тегов либо в тело тегов, есть возможность применять разные языки и нотации для именования тегов и т. д.);
  • XML — формат, основанный на интернациональных эталонах;
  • Иерархическая структура XML подходит для описания фактически каких угодно типов документов, не считая аудио и видео мультимедийных потоков, растровых изображений, сетевых структур данных и двоичных данных;
  • XML представляет собой обычный текст, свободный от лицензирования и каких-то ограничений;
  • XML не находится в зависимости от платформы;
  • XML является подмножеством SGML (который употребляется с 1986 года). Уже накоплен большой опыт работы с языком и сделаны спец приложения;
  • XML не накладывает требований на размещение знаков в строке;
  • В отличие от бинарных форматов, XML содержит метаданные об именах, типах и классах описываемых объектов, по которым приложение может обработать документ неведомой структуры (к примеру, для динамического построения интерфейсов);
  • XML имеет реализации парсеров для всех современных языков программирования;
  • XML поддерживается на низком аппаратном, микропрограммном и программном уровнях в современных аппаратных решениях.
  • Недочеты XML

  • Синтаксис XML избыточен.
  • Размер XML-документа значительно больше бинарного представления тех же данных. В грубых оценках величину этого фактора принимают за 1 порядок (в 10 раз).
  • Размер XML-документа значительно больше, чем документа в других текстовых форматах передачи данных (к примеру JSON, YAML) и отдельно в форматах данных, оптимизированных для определенного варианта использования.
  • Избыточность XML может воздействовать на эффективность приложения. Растет цена хранения, обработки и передачи данных.
  • XML содержит метаданные (об именах полей, классов, вложенности структур), и вместе с этим XML позиционируется как язык взаимодействия открытых систем. При передаче меж системами огромного количества объектов 1-го класса (одной структуры), передавать метаданные повторно нет смысла, хотя они содержатся в каждом экземпляре XML описания.
  • Для огромного количества задач не нужна вся мощь синтаксиса XML и есть возможность применять существенно более обыкновенные и производительные решения.

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

  • XML не содержит интегрированной в язык поддержки типов данных. В нём нет серьезной типизации, другими словами понятий «целых чисел», «строк», «дат», «булевых значений» и т. д.
  • Иерархическая модель данных, предлагаемая XML, ограничена по сопоставлению с реляционной моделью и объектно-ориентированными графами и сетевой моделью данных.
  • Выражение неиерархических данных (к примеру графов) просит дополнительных усилий.
  • Кристофер Дейт, спец в области реляционных баз данных, создатель традиционного учебника «An Introduction to Database Systems», отмечал, что «…XML является попыткой поновой изобрести иерархические базы данных…» (в 1980-е года иерархические базы данных были вытеснены реляционными базами данных).

  • Места имён XML трудно применять и их трудно реализовывать в XML-парсерах.
  • Есть другие, владеющие схожими с XML способностями, текстовые форматы данных, которые владеют более высочайшим удобством чтения человеком (YAML, JSON, SweetXML, XF).
  • Источники и Полезные ссылки:

  • XML — Википедия
  • XML. Что такое XML. Определение XML
  • Array

    Добавить комментарий

    орфографическая ошибка в тексте:
    чтобы сообщить об ошибке автору, нажмите кнопку "отправить сообщение об ошибке". вы также можете отправить свой комментарий.

    Задать вопрос прямо сейчас