LINUX.ORG.RU
ФорумTalks

зачем вообще нужен XML ?


0

0

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

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

Для метапредставления информации XML вполне подходит. если об этом вопрос, то попробуй, например, на основе какого-нибудь XML примера получить сначала набор связанных html страничек, а потом PDF документ на основе того же XML - тебе понравится... :) Усугуби применением разных стилей... :)

Кстати, конфиги той же ОО Bluebottle, мой скрин, которой давече жестоко затерли (хотя Владимира здесь понять можно и нужно, "ну не шмогла я..., не шмогла" :) ) практически все в XML - а ведь это пока, пожалуй, наиболее хорошая и более прочих ОО, открытая объектно-ориентированная система.

domenick
()

После конфигурации openbox зюмель начинаешь тихо недолюбливать,
после ночи любви с ivman'ом его просто тихо ненавидишь.

grob
()
Ответ на: комментарий от grob

Зато после ночи настройки емакса понимаешь, насколько все таки, лисп лучше зюмля :)

nsav-ng
()
Ответ на: комментарий от domenick

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

nsav-ng
()

1. Синтаксис XML стандартизирован и довольно простой и строгий.

2. Имеются стандартные, ну более-менее ;-) средства контроля за содержимым, как в стандарте от w3c.org, описываемые через: DTD (наследство от SGML), XSchema (не путать с лисповатой схемой), а также M$ - ный XDR и не M$-ный RealaxNG, остальные малоизвестны. Всё это, кроме DTD также XML файл, но с описаниями ограничений содержимого XML, например можно описать допустимые теги, типы атрибутов и т.д.

4. Есть более менее стандартные, независимые от языка и платформы API функции и технологии для работы с XML наиболее известные это SAX и DOM.

5. Есть стандартное API xslt для преобразований XML файла в другой xml или во что-то ещё, записывается в XML синтаксисе.

6. Есть куча реализаций, в том числе OpenSource'ных всего этого.

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

anonymous_incognito 👍
()

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

имхо

Pi
()
Ответ на: комментарий от anonymous_incognito

Забыл ещё про всякие FOP'ы напомнить как стандартизированный способ отобразить XML в PDF или ещё во что-нибудь.

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

Прикиньте, какая бяка приключилась недавно: приходят ко мне от другой организации XML файлы, которые проверку на синтаксическую корректность не проходят (в xmllint), а именно ругань на атрибут encoding=Unicode в заголовке.

Оказывается, хотя в стандарте на w3c.org есть utf-8 и utf-16, но никак не Unicode, здесь правильно для тех файлов было бы указать utf-16 они ничтоже сумняшеся пишут Unicode и не принимают возражения, говоря что "у них всё работает" и действительно IE переваривает спокойно эту ошибку. Ну и чего делать прикажете? Я поставил перед проверкой замену этой строчки на utf-16. Некрасиво так делать, но патчить libxml2 показалось ещё хуже.

anonymous_incognito 👍
()
Ответ на: комментарий от anonymous_incognito

Говоря об xml как о формате - xml хорош, когда он редактируется не
руками а wysiwyg - будь это OOo, glade или obconf. Использовать же
его как формат для файлов, которые надо редактиовать руками (тот же ivman), это лишняя pain in the ass для пользователя.

grob
()

XML - это всего лишь формат. Что такое алгебраические типы данных знаешь? Не знаешь - не обсуждай эту тему совсем, а если знаешь - сравни ML с DTD.

anonymous
()
Ответ на: комментарий от grob

Да уж, руками неудобно, но можно, если надо чуток подточить на коленке.

Бывает такое дело, когда хорошая технология вдруг становится модной и её пропихивают во все дырки, так сейчас и с XML происходит. Есть ситуации, когда использовать XML явно не желательно. Кстати, я как-то не следил, не в курсе как Tamino поживает, а то помню были маркетинговые вопли про СУБД на основе XML?

anonymous_incognito 👍
()
Ответ на: комментарий от anonymous

> И на фига всё это надо, когда есть S-выражения и Лисп (или Схема)?

Чтоб знать про S-выражения надо или серьёзно учиться или на ЛОР ходить :-))))

P.S. А что ты думаешь про Xanadu?

anonymous_incognito 👍
()
Ответ на: комментарий от anonymous_incognito

Поправлю себя. В S-выражениях, насколько мне показалось, сложности особой нет, только не распиарены они и кучи либ не валяется.

anonymous_incognito 👍
()
Ответ на: комментарий от anonymous_incognito

> кучи либ не валяется.

Да прям таки. По моему, только количество реализаций коммон лиспа перевалило за десяток, куда уж вашим иксэмэловским либам.

> только не распиарены

Если судить по пиару, то самая качественная музыка на российской эстраде -- Руки Вверх и Виагра (или что там еще новое появилось в последнее время). Но это не повод нормальным людям их слушать.

nsav-ng
()
Ответ на: комментарий от anonymous_incognito

> Чтоб знать про S-выражения надо или серьёзно учиться

Гонево. В любой умной книжке про них написано. Ещё задачи детские есть в почти любом курсе - С-выражения парсить.

> P.S. А что ты думаешь про Xanadu?

А хтойта?

anonymous
()
Ответ на: комментарий от anonymous_incognito

>Кстати, я как-то не следил, не в курсе как Tamino поживает, а то помню были маркетинговые вопли про СУБД на основе XML?

Поживает себе http://www1.softwareag.com/corporate/products/tamino/default.asp

>Если судить по пиару, то самая качественная музыка на российской эстраде -- Руки Вверх и Виагра (или что там еще новое появилось в последнее время). Но это не повод нормальным людям их слушать.

Но если ты в компании скажешь "А что такое Виагра и Руки Ввверх?", с тобой будут потом разговаривать как с brain damaged redarded moron. Так же и с XML. Не обязательно ваять с его помощью, но если при устройстве на работу ты скажешь, что не слышал про Кнута и XML, тебя даже на интервью больше не пригласят

anonymous
()
Ответ на: комментарий от anonymous

>> P.S. А что ты думаешь про Xanadu?

>А хтойта?

Букварь сначала прочитай, потом лезь с умными людьми бакланить.

anonymous
()
Ответ на: комментарий от nsav-ng

> куда уж вашим иксэмэловским либам.

Ну не мои они :) xml засунут, уже кажется даже в кофеварки, чего нельзя сказать про lisp. Только не надо спора xml vs lisp -- я вовсе не собираюсь доказывать, что xml лучше lisp'а.

anonymous_incognito 👍
()
Ответ на: комментарий от anonymous_incognito

Я и не собираюсь спорить, насчет xml vs lisp. Просто тут настолько все понятно, что спорить смысла нет. Просто есть уйма инструментов для работы с лиспом, порой довольно качественных, просто действительно они не так распеарены. Сравнение с популярной музыкой смотри выше.

nsav-ng
()
Ответ на: комментарий от anonymous

> Но если ты в компании скажешь "А что такое Виагра и Руки Ввверх?"

А хтойта? Я если и знал, то забыл. Телевизор не смотрю, радио не слушаю.

anonymous
()
Ответ на: комментарий от anonymous

> Гонево. В любой умной книжке про них написано. Ещё задачи детские есть в почти любом курсе - С-выражения парсить.

Тебе не кажется, что речь зашла несколько о другом? Хотя... В порядке извращения задачку придумал: спарсить Си в XML, а потом учинить xslt до промежуточного кода. ;-)))))

Кстати, я думаю выпускник мехмата или ВМиК, если вопросить, то про S выражения что-нибудь lf скажет, а вот МИРЭА уже не уверен. В то же время, школьник, читающий ЛОР регулярно, про S выражения в курсе ;)

> А хтойта?

http://xanadu.com.au/ted/

http://www.osp.ru/os/2003/11/024.htm

anonymous_incognito 👍
()
Ответ на: комментарий от CrazyPit

Как ты мог забыть про журнал (c) Догма...

Джабба - не зло. Она очень хорошая и добрая. Приучает программёров к мысли, что не всегда суперпроизводительность это главное, что GC вообще-то рулит, что язык должен быть простой, и чем проще, тем лучше. Много там нужный идей. Пусть в массы просачиваются, народ проникнется, и лет через 100 на Лисп перейдёт, или на Арк, как тов. Грэхем предсказывал.

anonymous
()

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

CrazyPit
()
Ответ на: комментарий от anonymous

Для таких целей имхо и питон сгодиться. Хотя говорить что джава зло серьёзно не буду, ибо я ещё её не учил.

CrazyPit
()
Ответ на: комментарий от CrazyPit

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

Почему это xml-ем заставишь, а sexpr-ами - нет?

> а наличие стандарта в таком деле это очень хорошо.

Как может быть хорошим наличие плохого стандарта?

anonymous
()
Ответ на: комментарий от anonymous_incognito

> спарсить Си в XML, а потом учинить xslt до промежуточного кода. ;-)))))

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

Xanadu - ниасилил. Аффтар охренел столько пейсать.

anonymous
()
Ответ на: комментарий от vilfred

> читаю все ниже и ниже тему и думаю: маньяки :)

А сам то. :) Кстати, что нового в телескоп видно? Я вот этим летом, не поверишь, впервые наблюдал метеоры.

anonymous_incognito 👍
()
Ответ на: комментарий от nsav-ng

> И вообще, xml, попса и гопники -- это три самых больших зла на земле.

Мощно задвинул :) Но я придерживаюсь точки зрения, "яд создаёт количество" и "что занад, то вредно". К гопникам это не относится -- они вредны в любой концентрации.

anonymous_incognito 👍
()
Ответ на: комментарий от anonymous_incognito

да ниче там не видно... И как тебе метеоры? Не поверишь, я метеоры последний раз 15 лет назад видел вживую. Специально на крышу спать полез посмотреть :)

vilfred
() автор топика

Кстати, может кто-то мне объяснит здесь, а то я не понимаю. Нафига в иксмль нужен закрывающий тег, если он обязателен и закрывает однозначно определяемый открывающий тег? Почему нельзя ввести унифицированный закрывающий тег? То есть, писать вместо

<expr type="lambda">
  <arg type="list">
      <car>x</car>
      <cdr>nil</cdr>
  </arg>
  <arg type="expr"; func="*">  
     <arg type="fixnum">2005</arg>
     <arg type="symbol">x</arg>
   </arg>
</expr>

<expr type="lambda">
  <arg type="list">
      <car>x</>
      <cdr>nil</>
  </>
  <arg type="expr"; func="*">  
     <arg type="fixnum">2005</>
     <arg type="symbol">x</>
   </>
</>

nsav-ng
()
Ответ на: комментарий от nsav-ng

Это я типа писал иксэмэловский эквивалент (lambda (x) (* 2005 x)), если кто не понял

nsav-ng
()
Ответ на: комментарий от anonymous

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

vilfred
() автор топика
Ответ на: комментарий от nsav-ng

Я тоже думал об этом. В принципе, если содержимое тега объёмное, то так проще не запутаться и видно не только в начале, но и в конце тега к чему он относится. Другого объяснения не вижу.

anonymous_incognito 👍
()
Ответ на: комментарий от vilfred

Ты лучше скажи - будешь Марс смотреть?

anonymous
()
Ответ на: комментарий от anonymous

>Почему это xml-ем заставишь, а sexpr-ами - нет?

1. XML в 1000 раз больше наслуху -> намного больше народа его знает. А если не знает, то когда скажешь XML, то сделает вид, что знает ибо будет стыдно, пойдёт и заботает. А если скажешь sexpr то придётся ещё и объяснять, как, зачем, почему.

2. Уже много налаженных систем, которые генерируют XML, и переделывать ничего не будут ибо лень.

>Как может быть хорошим наличие плохого стандарта?

Конечно могло бы быть и лучше, но уже не плохо, что есть ОТКРЫТЫЙ и широкораспространённый стандарт.

CrazyPit
()
Ответ на: комментарий от CrazyPit

Я теперь спать не буду, кошмары будут снится, как пищу программы на лиспе в иксэмэле

CrazyPit
()
Ответ на: комментарий от vilfred

> да ниче там не видно...

А ты планету открой 10-ую. Сейчас это модно :)

> И как тебе метеоры?

Замечательно. Ближайший фонарь не ближе 2 км, воздух вкусный лёгкий, слегка прохладный, небо чистое, усеяное звёздной пылью млечного пути и россыпью ярких звёзд. Тишина, благолепие и мысли о вечности. И немножко как спичкой о коробок: чирк немножко, ещё чирк. Красота!

anonymous_incognito 👍
()
Ответ на: комментарий от CrazyPit

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

Для полноты картины опишу чем мне не нравится XML.

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

Можно привести один пример. Пусть у нас есть программа, для настройки которой используется конф. файл. Адвансед юзер Вася Пупкин хочет определить в нем 2 переменные: x и y. При этом x должен равнятся в момент запуска программы количеству секунд, которые прожила девушка Васи, а y=cos(arcsh x). Как дать васе такую возможность с помощью XML?

2) XML писать руками просто пытка, также синтаксический разбор XML -- задача очень ресурсоемкая. Секспы гораздо проще парсить.

3) Неоправданно большой объем файла из-за кучи не несущих полезной информации символов.

Может быть я неправ, и все эти недостатки устранимы, но я не вижу легко и _естественного_ пути их устранения.

nsav-ng
()
Ответ на: комментарий от nsav-ng

чего то мне это напоминает:

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

а теперь сюда:

http://www.linux.org.ru/profile/vilfred/view-message.jsp?msgid=1044306

> Цель - сделать язык для быстрого прототипирования (да и реализации)
> произвольных языков, как DSL, так и общего назначения. Реализация
> Language-Oriented Programming - идеологии, согласно которой, самый
> быстрый и правильный способ решения задачи - это сначала создать
> заточенный под задачу язык, а потом уже сфомулировать на нём решение,
> в простых и понятных естественных терминах

...

vilfred
() автор топика
Ответ на: комментарий от nsav-ng

> Может быть я неправ, и все эти недостатки устранимы, но я не вижу легко и _естественного_ пути их устранения.

Всё гениальное -- просто и потому сложно для выдумывания :) Когда в конце 60-х годов в фирме IBM озаботились логической разметкой своих документов, то про lisp знали, что он язык для создания искусственного интеллекта, а лямбда исчисление -- это что-то из математики и никто не догадался (или не пропихнул) до изящности логической разметки _данных_ их средствами. Выдумали SGML. Твои претензии к XML фактически относятся ещё к SGML.

anonymous_incognito 👍
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.