|
|
ru.website- RU.WEBSITE ------------------------------------------------------------------- From : Serge Shikov 2:5020/400 29 Jun 2001 15:15:16 To : All Subject : Re: Литература по PHP -------------------------------------------------------------------------------- pavel kurnosoff wrote: > > SS> <esql:connection> > SS> </esql:connection> > боже. ну и галиматья. Т.е. ты нихрена не понял? Hу это конечно аргумент, но какой-то не слишком аргументированный ;-). > это писали либо машина, либо человек, которому себя не > жалко. скажи мне, что это автогенерированный код. скажи пожалуйста, а то я > оканчательно разочаруюсь. Да, это автогенерированный код, если угодно. У меня просто есть DTD, или XML Schema, которые описывают синтаксис того, чего можно генерить. Какие тэги и какие атрибуты. И если мне охота - я просто юзаю для написания этого _любой_ XML-редактор. > {% USE db=DB(dsn=>"...",user=>"...",password=>"...") %} > {% BLOCK deps %} > <header>...</header> > {% FOREACH dep=db.query("select id,name from dep_table"); %} > <departament> > <name>{% dep.name | xml %}</name> > <id>{% dep.id | xml %}</id> > {% FOREACH user=db.query("select name from dep_users where id=?",dep.id) %} > <user>{% user.name | xml %}</user> > {% END %} > </departament> > {% END %} > <footer>...</footer> > {% END %} боже. ну и галиматья. это писали либо машина, либо человек, которому _меня_ не жалко ;-) И ты правда думаешь, что твой вариант лучше с какой-то точки зрения? Hу для начала - где у тебя esql:? Или ты думаешь, что namespace в XML придумали идиоты, и это никому не нужная фича? Так ты это зря, зря... Синтаксис тебе такой мил? А почему, собственно? Мне он наоборот кажется уродским - потому что это вроде как перл, а с другой стороны - вроде как и нет. Левота, одним словом. У меня если в документе и используется процедурный код, то синтаксис в любом случае либо XML, либо Java (ну или на чем я там пишу). И никакой другой нафиг не нужен, что на самом деле значительно упрощает дело. > вот. я мог бы сделать это через {% VIEW %}, но моих изменений, которыми бы я > воспользовался еще пока нет в основном дереве, так что это нечестно ;) Я мог бы сделать это через: XLE, dbXML, XML2DBMS и еще кучку других средств. И все это вылилось бы примерно в одну-две строчки кода. Причем это все не мои изменения, с стандартные фичи этих продуктов - т.е. все более чем честно. Hу и? > SS> (Это кокуновский подход, есть еще и поудобнее средства, XLE > SS> например). Заметь - тут два вложенных select, так что твой > SS> db.getrow("select date from table") уже пошел лесом - у тебя уже будет > SS> два цикла. > а у тебя два уровня вложенности. и что? будешь утверждать, что там нет внутри > циклов? Есть. Hо это не совсем циклы, если ты понимаешь, о чем я. Кроме того, ты зря игнорируешь некоторые мои фразы. Уж так вышло, что я зря почти ничего не пишу, каждое слово имеет глубокий тайный смысл :-) Вот XLE ты зачем игнорировал? Если бы я его заюзал, было бы примерно так: XLExtractor xt = new XLExtractor(); java.lang.String args2[]= { "-config", "access.cfg","po.dtdsa", "100" }; java.lang.String output = xt.extract(args2); В результате в output я получу большой длинный XML, вытянутый из нескольких таблиц, все циклы тут будут сугубо внутри extract. То что я тебе написал - просто лишняя демонстрация, что и так тоже можно. Можно писать также длинно и нудно, как ты пишешь на TT2 (но совершенно не нужно) ;-) > SS> знакомый со структурой базы. > SS> Дальше он сказал другому человеку, что тот получит данные такой > SS> структуры: > SS> <header>...</header> > SS> <department> > SS> <id>...</id> > SS> <name>...</name> > SS> <user>...</user> > SS> </department> > SS> ... > SS> <footer>footer info</footer> > ну, аналогично. Возможно. Хотя я пока этого не увидел. Hа это можно будет потом натравить еще пару стадий обработки? Т.е. скажем - достать еще данные, из другого источника, сгенерить вторую подобную структуру, а потом их совместно переработать в HTML при помощи XSLT (или чего угодно, на твой вкус)? Т.е. можно так: XML -> SQL-процессор -> XML -> LDAP -> XML -> хрен-знает-что -> XSLT ->HTML? Любая последовательность фильтров, короче? > SS> Теперь представим себе, что в каждой строке этого безобразия есть > SS> поле типа дата, и наш контрол dates:input надо повторить тоже для каждой > SS> строки. Каким образом ты собрался ссылаться на одно из полей, > SS> выбранных твоим select-ом - я не понимаю. Я лично сошлюсь на него при > SS> помощи XPath - потому что у меня _на самом деле_ все в XML. > XPath? пожалуйста. Чего пожалуйста? У тебя все в переменных, а не в XPath. А результаты XPath ты сначала достаешь в переменные, а потом подставляешь в документ. У тебя _два_ этапа. > SS> Что интересно - на данном этапе человек уже может быть дизайнером. > SS> Ему максимум что надо знать, так это XPath, который в общем выучить не > SS> сложно. Во всяком случае что-то типа //department/user/birthdate > SS> напишет любой дурак. > {% USE deps=XML::XPath(xml=>deps) %} > {% FOREACH date=deps.findnodes('//departament/user/birthdate') %] > {% INCLUDE dates/input ... value=date.string_value %} > {% END %} Ой чтой-то ты в данном случае гонишь, как я погляжу... В какой момент это все выполняется, и где находится тот документ, откуда ты берешь //departament/user/birthdate? Я сильно подозреваю, что его в этот момент еще не существует. > SS> А у тебя на самом деле все будет в перле и в его переменных, которые > SS> тебе придется заводить для этой задачки. > а у тебя на самом деле всё будет в java в куче(heap). и чего? чем тебя так > пугают переменные? Тем что это бред и галиматья. Хотя я готов согласиться, что если _тебе_ так кажется удобнее - то и флаг в руки, почему нет? > SS> А все почему - потому что ты > SS> не можешь вкладывать свои операции %INCLUDE друг в друга - у них > SS> синтаксис не XML-ный. > мда... аргумент. ну есть есть {%wrapper%} - их можно вкладывать. Hу и чем они тогда отличаются, кроме синтаксиса? > SS> Потому что у них нету контекста, как в XML-документе, > SS> взаимосвязей типа родитель-ребенок-сосед и т.п. Поэтому у тебя XPath > SS> нету, а у меня - есть. > ой, гонишь... Куды гонишь? Hету ведь контекста-то... Hу хорошо - конечно есть, есть контекст перловый, скажем локальные переменные в циклах. Hу например вот тут: > {% FOREACH user=db.query("select name from dep_users where id=?",dep.id) %} > <user>{% user.name | xml %}</user> > {% END %} контекст - это user, а также db, ну и так далее. Т.е. у тебя _два_ контекста, они - это перловые переменные, второй - это документ, в котором это все записано. Hу и нафиг он тебе? > SS> Может ты XML и знаешь, но пока ты предлагаешь > SS> совершенно не-XML-ные решения, на мой взгляд совершенно кривые и > SS> негибкие. > ну да - вот то, что там сверху, оно действительно кривое. ибо хрен бы я в этой > ситуации стал туда еще и xml вводить. лишний он там, лишний... ну раз уж ты > просишь... Он лишний, пока ты данные из одного источника достаешь. А как их становится два и более - надо иметь один общий формат. Вот XML - это он и есть. Hа месте esql мог бы быть кто угодно, причем без всяких усилий. А esql мог бы например быть сгенерен на предыдущей стадии обработки XML-я. --- ifmail v.2.15dev5 * Origin: home (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.website/282555201ef1.html, оценка из 5, голосов 10
|