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

Минимальное значение для double равно Double.NEGATIVE_INFINITY, поэтому Double.MIN_VALUE на самом деле не является минимальным для Double.

Поскольку double являются числами с плавающей запятой, вы можете иметь только

Если вы действительно хотите минимальное значение для double, которое не бесконечно, вы можете использовать -Double.MAX_VALUE .

14
задан John Topley 24 September 2008 в 14:45
поделиться

23 ответа

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

Отношения Friedrich

0
ответ дан 1 December 2019 в 05:47
поделиться

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

0
ответ дан 1 December 2019 в 05:47
поделиться

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

0
ответ дан 1 December 2019 в 05:47
поделиться

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

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

-1
ответ дан 1 December 2019 в 05:47
поделиться

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

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

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

0
ответ дан 1 December 2019 в 05:47
поделиться

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

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

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

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

26
ответ дан 1 December 2019 в 05:47
поделиться

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

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

0
ответ дан 1 December 2019 в 05:47
поделиться

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

1
ответ дан 1 December 2019 в 05:47
поделиться

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

0
ответ дан 1 December 2019 в 05:47
поделиться

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

HTML сделал интересное задание форматирования текста, но это было недостаточно. Это выросло. Люди хотели добавить теги для всего. < BLINK> кто-либо? Разметки, стили и даже данные.

XML является расширяемым языком разметки (понятное дело, правильно?), разработанный так, чтобы любой мог создать их собственные теги, и так, чтобы Ваш РЕКОРДНЫЙ тег не вмешивался в мой РЕКОРДНЫЙ тег, в случае, если у них есть различные значения, и с чувствительностью к проблемам кодирования и соответствия тега и выхода из того HTML, имеет.

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

1
ответ дан 1 December 2019 в 05:47
поделиться

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

1
ответ дан 1 December 2019 в 05:47
поделиться

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

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

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

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

3
ответ дан 1 December 2019 в 05:47
поделиться

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

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

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

3
ответ дан 1 December 2019 в 05:47
поделиться

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

, Как Вы указываете, файлы CSV являются довольно портативными. Однако нет никакого значение им. Что столбец (14) значит для меня? В противоположность < идентификатор клиента = "14"/>?

3
ответ дан 1 December 2019 в 05:47
поделиться

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

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

4
ответ дан 1 December 2019 в 05:47
поделиться

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

5
ответ дан 1 December 2019 в 05:47
поделиться

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

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

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

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

9
ответ дан 1 December 2019 в 05:47
поделиться
  • Вам можно дать XML-файл и иметь шанс в понимании, что данные подразумевают под чтением его, не нуждаясь в отдельной спецификации Вашего формата перед данными XML.
  • Инструменты могут использоваться для работы с xml в общем. Где прежде, если все использовали различные форматы файлов: разделенная запятая, двоичный файл, и т.д. Необходимо было бы записать инструмент пользователя.
  • можно расширить его путем добавления нового тега в схему со значением по умолчанию. И, если сделано правильно, с xml, который не взламывает весь старый код, который анализирует xml, но не знает о теге. Это обычно не верно с форматами proprietry.
  • , Вероятно, главное, которое делает это популярным, является этим, немного походит на HTML, который много людей, понятых ранее. Таким образом, это стало популярным, тогда потому что это было популярно, это стало более популярным, потому что его хорошее для работы с одним стандартом, который все знают.
  • А плохая вещь состоит в том, что xml обычно намного больше из-за всех тегов и потому что его текст, базирующийся, чем используемый, чтобы использоваться. Но, поскольку компьютеры являются более крупными теперь, мы можем часто обрабатывать это и стоящий торгового размера для того, чтобы иметь лучше самоописание данных.
  • можно выйти из кода/библиотек полки, который будет анализировать/писать xml.
6
ответ дан 1 December 2019 в 05:47
поделиться

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

  • это структурировано, таким образом, Вы пишете синтаксический анализатор только однажды
  • , это поддерживает данные с вложенной структурой (иерархии, деревья, и т.д.)
  • можно встроить несколько типов структуры данных в единственном XML
  • , можно описать схему (типы данных, и т.д.) со стандартным языком (XSL...)
6
ответ дан 1 December 2019 в 05:47
поделиться

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

  1. XML должен быть прямо применимым по Интернету.
  2. XML должен поддерживать большое разнообразие приложений.
  3. XML должен быть совместим с SGML.
  4. должно быть легко записать программы, которые обрабатывают XML-документы.
  5. количество дополнительных функций в XML должно быть сведено к абсолютному минимуму, идеально обнулить.
  6. XML-документы должны быть человечески-четкими и довольно четкими.
  7. дизайн XML должен быть подготовлен быстро.
  8. дизайн XML должен быть формальным и кратким.
  9. XML-документы должно быть легко создать.
  10. Краткость в разметке XML имеет минимальное значение.

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

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

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

10
ответ дан 1 December 2019 в 05:47
поделиться

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

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

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

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

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

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

25
ответ дан 1 December 2019 в 05:47
поделиться
  1. языки определения Схемы - можно описать ожидаемый формат XML
  2. , Это - стандарт:) - это определенно лучше, чем все использующие их собственные форматы

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

2
ответ дан 1 December 2019 в 05:47
поделиться

another benefit of XML vs binary data is error resilliancy..

for binary data, if a single bit goes wrong, the data are most likely unusable, with xml, as a last resort, you can still open it up and make corrections...

1
ответ дан 1 December 2019 в 05:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: