Forum Webscript.Ru
Общие => Веб-технологии => Тема начата: DenisK от 29 Марта 2002, 18:54:51
-
Webscript.ru - отличный ресурс, много хороших статей, скриптов, опытных людей в форуме и т.д. Тем неожиданее для меня было найти здесь столько заблуждений некоторых опытных программеров, касающихся технологии XML.
1. "XML - сырая технология и поэтому нигде не используется"
2. "XML не нужен для описания структуры, так как проще использовать txt файлы и реляционные базы данных"
3. "Под XML не существует программного обеспечения"
4. "XML - мертвый язык и никогда не заменит HTML, PHP, Perl и т.д."
и многое другое...
Короче я был в шоке. Не ожидал увидеть на таком сайте столько БРЕДА! Господа, вас же дети читают!
Поосторожнее с такими категоричными мнениями, для многих вы возможно являетесь авторитетами.
-
Дети!!! Меня не читать! :)
* From : Alexander Temerev, 2:5004/21.6@fidonet.org (Суб Июн 10 2000 10:31)
* To : Andrej Ramaszeuski
* Subj : Паpy вопpосов
===========================================================================
En garde, Andrej!
Andrej Ramaszeuski -> Maxim Belousov:
MB>> Тепеpь делаю тpетий сайт (точнее pедизайн втоpого сайта, котоpый
MB>> pедизайн пеpвого :). Cкpиптов нет вообще, вовсю идет css1 (css2
MB>> стаpательно избегаю), навигация вполне yдобна, внyтpенний код
MB>> вылизан, ибо набpан pyками, выдеpжан общий стиль сайта. К томy
MB>> же, гpафическое исполнение сайта кyда лyчше пpедыдyщих, т.к.
MB>> заодно я и фотошоп изyчал. Мне вот интеpесно, y всех так было? :)
AR> Почти так. :) Четвёpтую веpсию ты уже не будешь делать pуками -
AR> её будут генеpить написанные тобой скpипты на сеpвеpе из кусков.
Вот, месяца три назад писал:
>=== Hачало webevol ===<
>> Кто подскажет пpогy (для сабжа) для создания web стpаниц ?
t> Однозначно Macromedia Dreamweaver или MS FrontPage
Однозначно после недели pаботы с вышепеpечисленным мы это дpyжно кладем в
/dev/null, и пишем сайты ноpмально. С pазделением контента и офоpмления,
контент-базами, динамическими SQL-запpосами и (опционально)
XML-паpсингом. Hy, недели, конечно, мало... но я допyскаю пеpеходные
этапы.
Итак, эволюция Web-мастеpа (на собственном опыте).
1) Поставили необходимость написать сайт. Беpем Frontpage, pазбиpаемся,
возим мышкой, делаем.
2) Смотpим на свое твоpение в Netscape, yжасаемся. Пытаемся
оптимизиpовать pyчками HTML-и, котоpые выдает Frontpage.
3) Осознаем, что это бесполезное занятие, и намного пpоще писать HTML с
нyля (yже и тэгов нахватались - в сами-то HTML-и смотpеть пpишлось).
Покyпаем большyю и толстyю книгy - спpавочник по HTML, читаем, пpобyем
писать pyчками.
4) Hеожиданно понимаем, что писать HTML pyками вовсе не так сложно,
как кажется с пеpвого взгляда. Чем и занимаемся некотоpое вpемя.
5) Заходим на какой-нибyдь навоpоченный сайт. Hедоyменно восклицаем "а
как?". Покyпаем еще две книги - по Javascript и DHTML. Осваиваем.
6) Пpомаявшись с оптимизацией своих DHTML-стpаниц под pазные бpаyзеpы,
осознаем, что единственное, что есть в DHTML хоpошего - это CSS, а все
остальное, особенно DOM, деpжится на честном слове. Пpодолжаем писать
HTML-и, использyя еще CSS и Javascript.
7) Рано или поздно сайтy понадобится какая-нибyдь динамическая фича,
напpимеp, гестбyк. После пpосмотpа готовых гестбyков и долгого,
pаскатистого, многоэтажного мата покyпаем еще однy книжкy, на этот pаз по
Perl, и смотpим, что и как.
8) Узнаем много совеpшенно неожиданных вещей, таких как CGI, SSI, а
также то, что для всего этого нyжно настpаивать http-сеpвеp, вместо
того, чтобы пpосто откpывать HTML-и эксплоpеpом. Матюгаясь, ставим
apache и pазбиpаемся с ним. Apache оказывается не такой yж и плохой
вещью. Подyмываем о пеpеходе на FreeBSD в качестве десктопной
опеpационки.
9) Hаконец-то написан пеpвый пеpловый скpипт, котоpый yмеет выдавать
\'Hello world\' в STDOUT. Вставляем его чеpез SSI и дyмаем, что yмеем
пpогpаммиpовать. Следyющие две-тpи недели пpоводим за изyчением пеpла,
пpосиживая за книжкой и монитоpом по 16-18 часов в день.
10) Hаконец-то гестбyк написан и пpикpyчен. Сайт pазpосся до неимовеpных
pазмеpов, пpичем половина HTML-ей генеpится скpиптами, пpичем pазными.
Пpавить кyсочки HTML-ей, застpявших в этих скpиптах - занятие скоpее для
мазохистов. Плюем на все и пытаемся сделать выдачy HTML-ей одним
скpиптом. Появляются пеpвые темплэйты и (о pадость!) текстовая база
контента.
10) Hа сайте появляются все новые и новые pазделы, для котоpых
пpиходится заводить новые и новые файлы с содеpжанием и писать pазные
скpипты для выдеpгивания контента оттyда и впихивания его в шаблоны.
Понимаем, что что-то тyт не так, но ничего не можем с этим поделать.
11) Сайт тоpмозит, y каждой базы свой фоpмат, контент оттyда
вытаскивается совеpшенно на ypовне шайтана и один чеpт знает, что откyда
беpется. Мама, pоди меня обpатно...
12) Вспоминаем, что есть такая штyка - "базы данных". Лезем в интеpнет,
долго и нyдно читаем. Узнаем много нового и интеpесного, в частности то,
что есть такие вещи, как SQL, SQL-сеpвеpа и собственно базы данных. Идем
в книжный магазин, где нас деpжат yже за постоянного клиента, и покyпаем
книжкy по SQL.
13) Ставим себе на комп SQL-сеpвеp, и тоpжественно пишем пеpвый запpос -
"SELECT * FROM test". Запpос пpоходит, но неизвестно, что делать с
pезyльтатами.
14) Долго и мyчительно ищем в perldoc и той самой книжке по Perl хоть
что-нибyдь связанное с базами данных. Hаходим. Вдyмчиво читаем perldoc
DBI, сначала матюгаемся, а потом озаpяемся светом истины.
15) Пpоектиpyем базy контента и пpодyмываем возможные SQL-запpосы к ней.
Пишем шаблоны для выдачи инфоpмации из баз юзеpам. Пишем скpипт-вpаппеp,
котоpый пpеобpазовывает полyченные из фоpм данные в SQL-запpосы и выдает
pезyльтаты в HTML-шаблоны. Очень долго матюгаемся в пpоцессе составления
этих шаблонов.
16) Пытаемся пpидyмать некий язык для написания шаблонов, так как
непонятно, почемy сходные таблицы в pазных местах выдаются совеpшенно
pазными методами. Кое-что пpидyмываем, пишем очеpедной вpаппеp для
выдачи pезyльтатов запpосов чеpез пpидyманное.
17) Вспоминаем, что есть такой язык, как XML, котоpый в частности
пpедназначен для pазpаботки шаблонов. Пpикpyчиваем к пеpлy XML-паpсеp,
идем в книжный магазин, озадачиваемся отсyтствием литеpатypы по XML,
лезем на http://www.w3.org и пытаемся добыть инфоpмацию оттyда.
... собственно, на этой стадии я пока остановился :) Hо для того, чтобы
осознать, что FP - suxx, мне хватило недели :)
Alexander, d1whois.
=== GoldED+/386 1.1.1.2
+ Origin: Paseo de Gracia (2:5004/21.6)
--------------kittle---------------
18)
Топаем на xml.apache.org , смотрим кто-что может...
С удивлением обнаруживаем, что почти всё написано на
java... топаем на java.apache.org смотрим... думаем... получаем
очередную монстрилку типа Apache/1.3.12 (Unix) ApacheJServ/1.1.1
mod_perl/1.24 PHP/3.0.16 mod_ssl/2.6.4 OpenSSL/0.9.4 rus/PL29.4 с
$ ls
cocoon.jar fop.jar jndi.jar xalan.jar xerces.jar
впечатляемся новым технологиям, подписываемся на листы рассылки,
в очередной раз разбираемся...
Жизнь - это движуха... и пока чуйка есть - камлаем и шевелимся.
Червяки пусть подождут ;))
А Баба Яга против!!!!! Уж лучше Zope , чем это :)
Тем более что он XML-RPC понимает (т.е XML - только для обмена данными с левыми програмами, не более того).
[/b]
Кстати - а как ты все это видишь в 3 строки напиши ?
Отличается ли это от видиния фирмы Microsoft? (я книжку читаю по "XML & IE5" - так что если не отличается, то не повторяйся).
-
Да, не простой путь... но через это должны все пройти...
1. Действительно, большинство ПО написано на Java - т.к. XML применяется преимущественно в больших проектах и там где нужна мультиплатформенность. Но так же есть куча библиотек для PHP, Perl и естественно ASP. Под PHP настраивается все очень быстро т.к. все библиотеки входят в стандартную поставку (v 4.1.2), у многих провайдеров установлена последняя версия PHP, поэтому здесь тоже проблем нет. Так что, могу дать ссылок и помочь с настройкой.
2. 90% примения XML с которым я встречался - это XML + XSL на стороне сервера! Забудь про парсинг на клиенте! В XML хранятся статические страницы (только данные, типа заголовок, description, текст и все, чем одна страница может отличаться от другой), а также в виде XML генерится динамический ответ от БД или других приложений - форумы, каталоги и т.д. Далее, весь это XML парсится с помощью XSL и клинт получает HTML. XSL - отличный язык шаблонов с огромными возможностями, зачем изобретать свой язык шаблонов, когда есть XSL? Тем более в этом случае мы получаем независимость от платформы и языка: весь свой сайт легко можно переложить на другую платформу, только поменяв парсер, XML трогать не надо.
Честно говоря, я не сильно знаю как Microsoft смотрит на эту технологию, я работаю с Java. Я только знаю, что технологию Web-сервисов, с которой все уже работают несколько лет, Microsoft приписывает себе, и называет ее .NET. Надеюсь они ее не испортят, потому что вещь действительно классная, советую про нее почитать.
И еще, ни в коем случае не советую всем взять и быстро переводить свои проекты в XML! Не стоит применять его там, где без него можно обойтись, это будет лишь дополнительная трата ресурсов. Но есть вещи, где XML действительно незаменим: большие сайты с контент-менеджментом, электронная коммерция (передача данных между партнерами) и т.д. По крайней мере понять помощь этой технологии советую всем.
-
DenisK
Ну вот... Я просил 3 строки, а ты наговорил много всего и врезультате коеффициент непонятности остался тем же :)
Ну зачем мне "огромные возможности" ?!! Мне надо "соответствие задаче". Вон Perl и PHP одинаковые баллы наьрали - один из них ящик возможностей, а второй делался под задачу.
http://www.ukrpost.net сделан на XML - это сразу заметно, потому как URL у них все уродливые, не для людей сделанные .... :)
И оштбки - /mapper/login/-No Document вместо привычных.
Кстати:
> 3. "Под XML не существует программного обеспечения"
Я бы сказал - под XML практически не существует интструментария,
(сравни с коммандной строкой unix - для txt файлов и регулярными выражениями).
> где нужна мультиплатформенность.
Java приложения не являются многоплатформенными. Они работают под одной платформой - JVM. А вот JVM - да, много* , только в существующих ее реализациях не одинакова под разные платформы (соотв стадию DEBUG надо проводить на каждой платформе заново :)
IMHO - не стоит культивировать культ XML
-
2Oak:
Круто! "Эволюцию Web-мастеpа" читал почти как автобиографию :) Только вот 17-й и 18-й пункт у меня, наверное, еще в будущем.
Думаю, детям тоже можно :) , может вообще в FAQ вынести стоит? :)
А можно полюбопытствовать, сколько у авторитета длились следующие этапы:
а) с 1-го по 6-й?
б) с 7-го по 11-й?
в) с 12-го по 18-й?
-
Странно... у меня такое сложилось впечатление, что вопрос адресован ко мне?!
Там вообщето написано:
From: Alexander Temerev, 2:5004/21.6@fidonet.org
это имя автора и его почтовый адресс.
:)
kittle - это вообще отдельный человек :)
А мой коментарий начинается с "А баба яга против" ;-P
-
Ой, видимо, еще не протрезвел :) Меня вот эта фраза смутила:
на собственном опыте
-
Я обильно покраснел... :(
А не пробовал ли DenisK не выдергивать отдельные фразы и вставить их в свой пост как пример "бреда" а прочитать весь тред полностью? В смысле от первого слова до последнего?
Это что относится к первому сообщению...
А теперь последнее:
И еще, ни в коем случае не советую всем взять и быстро переводить свои проекты в XML! Не стоит применять его там, где без него можно обойтись, это будет лишь дополнительная трата ресурсов.
No comments. И зачем это все писал??? Может проще было уточнить где и как его нужно применять?
Но есть вещи, где XML действительно незаменим: большие сайты с контент-менеджментом, электронная коммерция (передача данных между партнерами) и т.д.
Обоснуй пожалуйста. В чем неоспоримые преимущества перед реализацией на , ну скажем, HTML+Perl+Oracle?
PS. В предыдущих темах поднимался вопрос только (!) о XML. Без XSL, Java и остальных приблуд.
-
http://www.ukrpost.net сделан на XML - это сразу заметно, потому как URL у них все уродливые, не для людей сделанные ....
У людей с кривыми руками и без XML такие урлы... Хотя иногда приходится жертвовать качеством урлов, но только в сложных приложениях.
> 3. "Под XML не существует программного обеспечения"
Я бы сказал - под XML практически не существует интструментария,
(сравни с коммандной строкой unix - для txt файлов и регулярными выражениями).
Я не понимаю какой инструментарий тебе нужен. Редакторов для XML полно (XML Spy например). Да и вообще, XML - то для того и сделан, что бы в ручную его не править (здесь доля шутки) - для страницы сложной структуры в XML гораздо проще написать Web-интерфейс для редактирования.
IMHO - не стоит культивировать культ XML
согласен, вообще не стоит культивировать культы :)
я не призываю использовать XML в домашних страницах :), но если у вас будет большой проект - от 50 страниц, с возможностью редактирования из веба, быстрого изменения структуры и дизайна, с представлением информации в нескольких форматах, использованием разных БД, да еще если проет будет выполнятся коллективно, то очень рекомендую присмотреться к XML.
-
NeoNox, а какой может быть толк от "XML без приблуд", читай - без парсера и механизма отображения?
Мне лично это непонятно....
-
NeoNox, а какой может быть толк от "XML без приблуд", читай - без парсера и механизма отображения?
Мне лично это непонятно....
и мне...
Этот тред создан как обсуждение вот этого треда:
http://forums.webscript.ru/showthread.php?s=&threadid=4307
-
Этот тред создан как обсуждение вот этого треда:
http://forums.webscript.ru/showthre...=&threadid=4307
Кажется я этого не говорил. Я читал многие форумы, просто остановился на этом треде (типа накипело :) ) и цитаты взяты оттуда.
По поводу применять/не применять. Как и любую другую технологию, XML нужно применять после анализа целесообразности. И не кидаться из крайности в крайность: делать сайты из трех страниц на XML, или говорить, что XML никуда не годен, нада все делать на Perl. Области применения я немного обрисовал, но эту тему можно развить.
Обоснуй пожалуйста. В чем неоспоримые преимущества перед реализацией на , ну скажем, HTML+Perl+Oracle?
Вот именно это я назвал бредом (извиняюсь за резкость). А в чем неиспоримое преимущество строительства домов из кирпича и цемента вместо использования строительного крана? :) XML применяется не вместо HTML+Perl+Oracle, а вместе с ними. Oracle (или другая БД) получает запрос и генерирует ответ в XML. В работе БД нет никакого намека на HTML, а во многих случаях и вообще на конкретный сайт. Работа БД: получить информацию, что-то с ней сделать, вернуть ответ. Где и как он будет использован, программиста БД не каcается. Дальше этот XML парсится с XSL. Программеру XSL в свою очередь не важно, откуда берется XML, и ваще динамический он или статический, он просто пишет механизм преобразования документа в HTML. Даже если проект делается одним человеком, такое разграничение сильно помогает повысить повторное использование кода, обеспечивает переносимость проекта, смену дизайна и структуры, представление контента в разных форматах и.тд.
В предыдущих темах поднимался вопрос только (!) о XML. Без XSL, Java и остальных приблуд.
А было бы забавно обсудить например JS в отрыве от HTML, IE, NN :)
-
А было бы забавно обсудить например JS в отрыве от HTML, IE, NN
Ты глубоко не прав. Читать тут:
http://www.mozilla.org/js/projects.html
И вообще, если ты пропагандируешь XML, то я буду пропагандировать рулезность и удобство ASCII файлов, потому как существует уже множество парсеров под него, а фунции построчного чтения файлов (а не бинарного с random access) встроены во все языки, какие только можно). Берешь любой язык и читаешь те же файлы, ничего не меняя!
Вообщем хватит нести бред. Либо ты рассказываешь про рулезность конкретных продуктов (Cocon или PHP-xml функции), либо рисуешь табличку рулезности XML относительно ASCII (\\n разделенных) файлов по задачам и времени/удобству работы с ними.
;-)
-
Вообщем хватит нести бред. Либо ты рассказываешь про рулезность конкретных продуктов (Cocon или PHP-xml функции), либо рисуешь табличку рулезности XML относительно ASCII (\\n разделенных) файлов по задачам и времени/удобству работы с ними.
В ASCII удобно хранить табличную информацию, также как и в БД. Но представь себе документ древовидной структуры, с большой вложенностью, причем ветви имеют разную вложенность, разное кол-во атрибутов, да и еще эта структура часто меняется. Короче у меня реальных примеров таких море. Вообще многие вещи удобнее описать как сложное дерево, чем в виде прямоугольной таблицы. Замучаешься ты это описывать в тексте. Можно извратится и придумать собственный формат хранения таких данных, только зачем? Для работы с ним, тебе нужно будет создавать какую-то логику на Perl или на др. языке чтобы найти там информацию, скорее всего ты будешь использовать регулярные выражения. Если структура изменится, придется менять логику, а иногда это сделать трудно. Если ты захочешь использовать этот файл еще где-то, то придется перекладывать эту логику в новое приложение.
XML для того и был придуман, чтобы описывать сложные структуры данных, например деревья.
Плюс ко всему документ на XML можно с помощью XSL преобразовать в любой другой формат, а при помощи XPath можно легко искать нужную информацию - это практически SQL только для XML документов.
-
Но представь себе документ древовидной структуры
Пьедставяю................... (c) мультик :)
Файлик называется ~/.Xdefaults и содержит нечто вроде
#ifdef COLOR
*customization: -color
#endif
XTerm*scrollBar: true
XTerm*font: *-fixed-*-koi8-u
XTerm*background: black
XTerm*foreground: green
*menuBar.directory.labelString: reDirector
Netscape*XmTextField.background: #13B575
Netscape*XmText.background: #13B535
*textBackground: #13B535
Netscape*XmList.background: #13B575
Netscape*XmPushButton*shadowThickness: 2
Netscape*XmPushButtonGadget*shadowThickness: 1
*documentFonts.defaultFont*iso-8859-1.prop: gemini-times-120-noscale
*documentFonts.defaultFont*iso-8859-1.fixed: gemini-courier-100-noscale
Там где * - это значит что оно относится ко всему, что похоже на Это. Т.е Netscape*XmList.background - относится к background-у всех списков-выбора, которые только есть в Netscape
Так что все просто i═понятно. + Работать с ним можно в тексте - без всяких формочек и спец GUI редакторов ;)
Так что - все уже есть и прекрасно работает ;) А TXT-редакторов на много больше чем XML-редакторов ;)
XML для того и был придуман, чтобы описывать сложные структуры данных, например деревья.
А Вольтmетр для измерения различных физических величин, например напряжения :-P ;)
XML - кроме деревьев ничего не умеет представить. (Без обработки напильником :))))
Всем неверующим просьба пройтись сюда: http://itc.ua/2858 [ru]
XML можно с помощью XSL
Я промолчу про количество програм═преобразования ASCII файлов. Как специальных, так и общего назначения типа sed/awk ;)
а при помощи XPath можно легко искать
ГыГыГы :) А мне казалось , что это язык описания связей между документами, а не движек для поиска информации :))))))))
то практически SQL
А с помощью SQL ничего искать низя ;) На нем можно запросы описывать.... А искать будет база - например PostgreSQL или Postgres95 ... не важно
-
Файлик называется ~/.Xdefaults и содержит нечто вроде
и как тут деревья описывать? мы про разные вещи говорим
XML - кроме деревьев ничего не умеет представить
А что еще нужно?
ГыГыГы А мне казалось , что это язык описания связей между документами, а не движек для поиска информации )))))))
Тебе не правильно казалось.
XPath - это язык адресации частей XML документа, предназначенный для использования с XSLT и Xpointer.
(http://www.w3.org/TR/1999/REC-xpath-19991116. - оригинал,
http://www.rol.ru/news/it/helpdesk/xpath01.htm перевод)
А про движок я ничего не говорил.
А с помощью SQL ничего искать низя
Ну не надо к словам придираться, так мы тут такой флейм разведем... Я хотел покороче. Все понимают для чего нужен SQL. Моя главная мысль, что XPath выполняет фактически ту же роль при поиске в XML, что и SQL при поиске по базе - выборка.
-
и как тут деревья описывать? мы про разные вещи говорим
Так же как в C++ или JS - root.leaf1.leaf2.leaf3: value
Но можно (в отличии от XML) сказать и root*leaf3:value
XPath - это язык адресации частей XML документа, предназначенный для
Ну а═кто мне тут рассказывал, что он для "поиска" предназначен??????!!!!!!! Он для "адресации" предназначен!!! Ты хоть русский язык знаешь?!! Это замена URL , а не SQL :)
Для особо одаренных - не смотря на существование http://www.altavista.com , URL не предназначен для поиска :)
-
Ну а═кто мне тут рассказывал, что он для "поиска" предназначен??????!!!!!!! Он для "адресации" предназначен!!! Ты хоть русский язык знаешь?!! Это замена URL , а не SQL
Ну какой-ты упрямый :). XPath - ЯЗЫК для адресации, т.е. задает критерии адресации. Адресация и поиск стоят очень очень близко. Когда мы задаем критерии адресации, мы фактически осуществляем поиск. Если например ты хочешь в Москве НАЙТИ какой-то дом, ты будешь искать его по АДРЕСУ.
Могу привести абстрактный пример такого поиска на XPath:
moscow/streets/street[name="Тверская"]/houses/house[number=2]/flats/flat[number="45"]
на SQL похожий запрос мог бы выглядеть так:
SELECT * FROM flats WHERE street="Тверская" AND house=2 AND number=45
Ты когда нибудь пробовал вводить в браузере что-нибудь типа http://www.altavista.*/somedir/*.* ?
Так что URL здесь вообще нипричем.
Я не филолог, но по-моему я ясно выражаюсь и если ты придираешься к этому, то это плохой признак отсутствия других аргументов.
-
Ну ты же понял, что я хотел тебе сказать? :) И это назвать "цеплянием к словам" сложно. Я согласен - что лучший метод поиска, это правильно положить, но это не единственный метод поиска. Только и всего :)
-
Пять с плюсом to Denisk - за вежливость, который не смотря на глупые вопли опонента, продолжал объяснять все корректно.
Я бы на твоем месте это Дерево уже очень давно, очень далеко послал, идти дальше парсить текстовые файлы.
Еще бы хотелось посмотреть, на человека из другой конторы, с которой нужно обмениваться какой-то сложно-структурированной информацией между приложениями, и который бы согласился принимать от тебя твои текстовые файлы тридцати-этажного формата.
-
Глюпый ты.... Как я могу тебе поверить, что кто-то согласится принять твои XML файлы, если ты даже не удосужился указать свой ID, отличный от "Unregistered". Я не верю что ты 1) пишешь к ним DTD , 2) описываешь эти DTD корректной сопроводительной докой на рус/en. :-P