Подтвердить что ты не робот

До того, как XML стал стандартом и дал все его недостатки, что сделало XML настолько популярным?

Да XML читается человеком, но это файлы и файлы с разделителями-запятыми.

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

Мои вопросы - это то, что является наиболее привлекательными качествами XML, которые сделали его настолько популярным????

4b9b3361

Ответ 1

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

Одна из причин, по которой на самом деле довольно легко разобрать, состоит в том, что она "раздута". Эти концевые теги означают, что вы можете точно сопоставить конец элементов с началом и работать, когда дерево стало неуравновешенным. Вы не можете сделать это в "легких" альтернативах, таких как JSON.

Другая причина, по которой легко разобрать, заключается в том, что с самого начала она полностью поддерживала кодировки Unicode, поэтому вам не нужно беспокоиться о том, какая кодовая страница по умолчанию находится в целевой системе или как кодировать многобайтные символов, поскольку эта информация содержится в документе.

И не забывайте о других артефактах, которые пришли с ним, как о определенном механизме описания и проверки (XSD) и мощном и декларативном механизме преобразования (XSLT).

Ответ 2

Это было в конце 90-х, и интернет был горячим, но у компаний были системы, которые не могли попасть нигде в Интернет. Они провели бесчисленные часы работы с CORBA и планировали использовать Enterprise JavaBeans, чтобы эти старые системы обменивались данными с их новыми системами.

Далее идет SGML, который является предшественником почти всех языков разметки (я пропускаю GML). SGML уже использовался для определения того, как определять HTML, но HTML имеет определенные теги, которые должны использоваться для того, чтобы Netscape правильно отображал данную веб-страницу.

Но что, если бы у нас были другие данные, которые нужно было объяснить? Ах, ха!

Поэтому, учитывая, что XML структурирован, и вы можете свободно определять эту структуру, он, естественно, позволяет создавать интерфейсы (в точке, отличной от OO). На самом деле он не делает ничего, что уже делают другие языки интерфейса, но это дало людям возможность разрабатывать собственные определения.

Языки интерфейса, такие как X12 и HL7, существуют точно, но люди XML могут адаптировать их к своим индивидуальным системам AIX или AS/400.

И с преобладанием языка тегов из-за HTML, было вполне естественно, что XML будет выдвигаться на передний план из-за его простоты использования.

Ответ 3

Прямо из лошадиного устья, цели дизайна XML были:

  • XML должен быть легко доступен через Интернет.
  • XML должен поддерживать широкий спектр приложений.
  • XML должен быть совместим с SGML.
  • Легко писать программы, обрабатывающие XML-документы.
  • Количество дополнительных функций в XML должно сохраняться до абсолютного минимума, в идеале равным нулю.
  • XML-документы должны быть четкими и понятными для человека.
  • XML-дизайн должен быть подготовлен быстро.
  • Дизайн XML должен быть формальным и кратким.
  • XML-документы должны быть легко созданы.
  • Трезвость в разметке XML имеет минимальное значение.

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

Вы действительно не можете сравнивать XML с CSV, потому что CSV - это чрезвычайно ограниченный способ представления данных. CSV не может обрабатывать ничего за пределами базовой таблицы столбцов столбцов и не имеет понятия иерархии.

XML не так уж сложно разобрать, и как только вы напишите или найдёте достойную утилиту XML, с которой тоже трудно справиться.

Ответ 4

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

Сам XML не раздувается, он может быть как можно более кратким, но это зависит от вашей схемы, чтобы сохранить его таким образом.

XML обрабатывает иерархические наборы данных таким образом, что текст с разделителями-запятыми никогда не мог или не должен.

XML является самодокументирующимся/описывающим и читаемым человеком. Почему это стандарт? Ну, в первую очередь, потому что это можно стандартизировать. CSV не является (и не может быть) стандартом, потому что существует бесконечное количество изменений.

Ответ 5

У этого есть много преимуществ и немного недостатков. Основная проблема заключается в увеличении размера файла и медленной обработке. Однако есть преимущества:

  • он структурирован, поэтому вы пишете парсер только один раз
  • он поддерживает данные с вложенной структурой (иерархии, деревья и т.д.).
  • вы можете встроить несколько типов структуры данных в один XML
  • вы можете описать схему (типы данных и т.д.) со стандартным языком (XSL...)

Ответ 6

  • Вам может быть предоставлен xml файл и есть шанс понять, что означают данные, читая его, не требуя отдельной спецификации вашего формата данных pre-xml.
  • Инструменты можно использовать для работы с xml в целом. Где раньше, если бы все использовали разные форматы файлов: разделенные запятыми, двоичные и т.д. Вам нужно было написать собственный инструмент.
  • Вы можете расширить его, добавив новый тег в схему со значением по умолчанию. И если все сделано правильно, с xml, который не сломает весь старый код, который анализирует xml, но не знает об этом теге. Это обычно не соответствует форматным форматам.
  • Возможно, главное, что делает его популярным, выглядит немного похоже на HTML, о котором многие люди поняли ранее. Поэтому он стал популярным, а потому, потому что он был популярен, он стал более популярным, потому что он хорошо работал с одним стандартом, который все знают.
  • Плохо, что xml обычно намного больше из-за всех тегов и потому, что его текст основан на том, что он использовался. Но, поскольку компьютеры сейчас больше, мы часто можем справиться с этим и стоить торговым размером, чтобы иметь лучшие самоописывающиеся данные.
  • Вы можете выйти из полки/библиотек, которые будут анализировать/писать xml.

Ответ 7

Как насчет того, что он поддерживает стандартизованный язык запросов, XPath? Это очень полезно для меня.

Ответ 8

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

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

Ответ 9

Помните ли вы за несколько дней до того, как XML стал популярным? Данные просто не были легко взаимозаменяемы - одна программа принимала файлы .csv, следующие .xls, следующие файлы в формате EBSIDIC. У XML есть свои недостатки, но он структурирован, что делает его понятным и трансформируемым.

Как вы заметили, файлы CSV довольно портативны. Однако для них нет значения. Что для меня означает колонка (14)? В отличие от < customer id = "14" / > ?

Ответ 10

Некоторые неотъемлемые качества XML, которые делают его настолько популярным и полезным:

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

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

Ответ 11

Что-то, о чем я еще не упоминал, заключается в том, что структура XML не только структурирована, но способ взаимодействия атрибутов и элементов создает несколько необычную структуру, которая все еще легко понятна людям.

Если вы сравниваете дерево XML с его ближайшим структурным соседом, ориентированным ациклическим графом, вы можете заметить, что типичная DAG несет только идентификатор и значение в каждом node. XML несет это также (gi/tag, соответствующий ID, и текст node, соответствующий значению), но каждый node затем может также переносить и произвольное количество дополнительных метаданных: элементы. Это очень похоже на дополнительное измерение - если вы считаете, что DAG раскладывается в двух измерениях с каждой ветвью, документ XML распространяется в трех измерениях, плоских, а затем вниз в поддерево, содержащее только атрибуты.

Это необязательный изгиб структуры. Пройдите список атрибутов, как любой список дочерних элементов, и вернитесь к двумерному дереву. Игнорируйте их полностью, и у вас есть упрощенное дерево node/value, которое может более чисто представлять общую "форму" содержащихся данных. Но дополнительное измерение существует, если вам нужны метаданные.

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

Ответ 12

  • Языки определения схемы - вы можете описать ожидаемый формат XML
  • Это стандарт:) - это определенно лучше, чем все, используя свои собственные форматы.

CSV является читабельным человеком, но это действительно единственная хорошая вещь - он настолько негибкий, и нет значений, присвоенных значениям. Если бы я начал разрабатывать систему, я бы определенно использовал YAML - он был менее раздутым и определенно набирал обороты.

Ответ 13

Он структурирован.

Ответ 14

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

HTML сделал интересную работу, форматируя текст, но этого было недостаточно. Он вырос. Люди хотели добавить теги для всего. < МИГАНИЕ > кто угодно? Макеты, стили и даже данные.

XML - расширяемый язык разметки (duh, right?), разработанный таким образом, чтобы каждый мог создавать свои собственные теги, и поэтому ваш тег RECORD не мешает моему тегу RECORD, если они имеют разные значения, и с чувствительность к проблемам кодирования и сопоставления тегов и экранирование HTML.

В начале он был популярен среди людей, которые уже знали HTML, и ему понравилась привычная концепция использования разметки для организации своих данных.

Ответ 15

Это перекрестная платформа. Мы используем его для кодирования программы управления роботом и данных, выполняемых в C под VxWorks для выполнения, но наше автономное программирование выполняется под сетью dot. XML легко анализируется обоими.

Ответ 16

другое преимущество XML-двоичных данных - это ошибка resilliancy.

для двоичных данных, если один бит идет не так, данные, скорее всего, непригодны для использования, с xml, в крайнем случае, вы все равно можете открыть его и внести исправления...

Ответ 17

он совместим со многими языками

Ответ 18

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

Мое небольшое предложение по улучшению языка - это изменить способ работы концевых тегов. Представьте себе, сколько полос и дискового пространства было бы сохранено, если бы вы могли закончить тег </>, например <my_tag>blah</> вместо < my_tag>blah</my_tag>. Вам не разрешено иметь перекрывающиеся теги, поэтому я не знаю, почему стандарт настаивает на еще большем количестве текста, чем нужно. На самом деле, зачем использовать угловые скобки вообще?

Уродство угловых кронштейнов - хорошее доказательство того, что могло бы быть: JSON. Обозначение объекта JavaScript достигает большинства целей XML с гораздо меньшим набором символов. Другим альтернативным синтаксисом, который делает XML терпимым, является синтаксис Builder, используемый Groovy и Ruby. Это гораздо более естественно и удобочитаемо.

Ответ 19

Я бы предположил, что его популярность первоначально была обусловлена ​​тем, что она разрешала правильные проблемы таким образом, чтобы не было плохого для достаточно крупных игроков, чтобы получить поддержку и, таким образом, получить широкое распространение в отрасли. На данный момент он довольно сильно встроен в ландшафт, так как в XML-среде так много разработки компонентов. HIPPA и другие XML-схемы и адаптеры EDI, поставляемые с MS BizTalk Server (и сами BizTalk), являются отличным примером горы, которая постепенно строилась поверх XML.

Ответ 20

По сравнению с некоторыми из предыдущих стандартов это сон. Попробуйте написать файлы HDF (иерархический формат данных) или FITS. FITS был стандартизирован до изобретения дисковода - вам нужно беспокоиться о заполнении файла размером блока!
Даже CSV не так прост. Быстрый вопрос, что разделитель в немецком CSV файле?

Многие жалобы на XML - это люди, которые используют его для передачи данных непосредственно между машинами, где данные существуют только в миллисекундах. Во многих областях данные должны будут длиться 50-100 лет и быть намного более ценными, чем машина, на которой она работала. Иногда стоит заплатить налог за теги.

Ответ 21

Две основные вещи, которые сделали широко распространенный XML, - "Человеческая читаемость" и "Sun Microsystem". Они были (и есть еще) другой кросс-платформенный, межплатформенный формат обмена данными, которые являются более гибкими, более легкими для анализа, менее подробными, чем XML. Например ASN.1.

Ответ 22

Это текстовый формат, который является одним из основных преимуществ. Все двоичные форматы обычно намного меньше, но вам всегда нужны инструменты, чтобы "читать" их. Вы можете просто открыть и отредактировать и изменить XML файлы по своему вкусу. Однако я бы утвердил, что это раздутый формат, но хорошо вы можете сжать его довольно хорошо... Если посмотреть на спецификации для форматов Windows Office XML, просто можно представить, что это замечательно, казалось бы, открытым...

Отношения Friedrich

Ответ 23

Легче написать парсер для диалекта XML, чем для произвольного, из-за доступных инструментов.

Использование анализатора DOM, например, намного проще, чем lexx и yacc, особенно на Java, где он был популяризирован.