--- parser3/operators.txt 2002/03/29 10:26:00 1.30 +++ parser3/operators.txt 2002/05/16 14:58:13 1.39 @@ -77,7 +77,7 @@ Xне сделано, видимо, не будет сделано } ^exit[] + - прекращяет обработку запроса. удобно сделать после выставления 401 ошибки - ^return[результат] + - отваливает из выполнения метода, + ^return[результат] + - уходит из выполнения метода, выдавая нестандартный результат ^break[] + - обрывает цикл ^continue[] + - обрывает итерацию цикла @@ -85,7 +85,7 @@ Xне сделано, видимо, не будет сделано default as-is !^taint[[lang]][код] default "just tainted, language unknown" - !^process[строка, которая будет process-ed, как код] + !^process{строка, которая будет process-ed, как код} !^connect[protocol://строка соединения]]{код с ^sql[...]-ями} !mysql://user:pass@{host[:port]|[/unix/socket]}/database? charset=cp1251_koi8& @@ -231,7 +231,7 @@ odbc c:\drives\y\parser3project\odbc\ !^имя.div(на сколько /) !^имя.mod(на сколько %) !^имя.format[формат] - !^int/double:sql{query}[[$.limit(2) $.offset(4) $.default(0)]] + !^int/double:sql{query}[[$.limit(2) $.offset(4) $.default{0}]] запрос, результат которого должен быть один столбец/одна строка !string @@ -243,7 +243,7 @@ odbc c:\drives\y\parser3project\odbc\ пример: ^if(def $form:name) не пуста? ^if($user.isAlive) истина? [автопреобразование к числу, не ноль?] - !^string::sql{query}[[$.limit(2) $.offset(4) $.default[n/a]]] + !^string::sql{query}[[$.limit(2) $.offset(4) $.default{n/a}]] результат запроса должен быть один столбец/одна строка !^имя.int[] .int(default) целочисленное значение строки. если ломается преобразование, берётся default @@ -309,8 +309,8 @@ odbc c:\drives\y\parser3project\odbc\ значением $hash.ключ будет hash в котором поля значений будут ключами поля значений могут быть не указаны, тогда ими будут все столбцы, включая ключевой !^таблица.columns[]+ таблица из одного столбца $column - $отфильтрованное[^таблица.filter(выражение)] - $adults[^man.filter($man.age>=18)] + !$отобранное[^таблица.select(выражение)] = таблица из тех же столбцов и строк, у которых условие совпало + $adults[^man.select($man.age>=18)] @@ -558,6 +558,10 @@ Xhashfile !^date::now(смещение в днях) выдаёт сейчас+смещение !^date::create(дней с epoch) // старое имя set !^date::create(year;month[;day[;hour[;minute[;second]]]]) // старое имя set + !^date::create[строка даты] + для удобного создания по значению из базы + формат1: %Y[-%m[-%d[ %H[:%M[:%S]]]]] + формат2: %H:%M[:%S] !$date.year month day hour minute second weekday read-only !^date.roll[year|month|day](+-смещение) сдвигает дату !^date.sql-string[] %Y-%m-%d %H:%M:%S @@ -614,6 +618,7 @@ xdoc(xnode) !cdata-section-elements = qnames !indent = "yes" | "no" !media-type = string /> + !параметры передаются как есть, не xpath выражения !.string[output options] !.save[file.xml;output options] с шапкой @@ -813,6 +818,7 @@ xdoc(xnode) !parser.runtime ^if(0). параметры (больше/меньше, чем нужно, не тех типов, ...) !number.zerodivision ^eval(1/0) ^eval(1%0) !number.format ^eval(abc*5) + !date.format ^date::create(2002-99-05) !file.missing ^file:delete[delme] not found !file.access ^table::load[.] no rights !image.format ^image::measure[index.html] not gif/jpg