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 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.