--- parser3/operators.ru.txt 2002/04/25 14:35:19 1.35 +++ parser3/operators.ru.txt 2002/06/14 11:59:12 1.45 @@ -283,7 +283,7 @@ odbc c:\drives\y\parser3project\odbc\ !^table::load[[nameless;]путь] !если не nameless, названия колонок берутся из первой строки !пустые строки, и строки в первой колонке содержащие '#', игнорируются - !^table::sql{query}[[$.limit(2) $.offset(4)]] + !^table::sql{query}[[$.limit(2) $.offset(4) todo:$.default{ ^table::create[...] }]] !^таблица.save[[nameless|append;]путь] !$таблица.поле !$таблица.fields+ из named таблицы выдаёт текущую запись как Hash @@ -311,7 +311,7 @@ odbc c:\drives\y\parser3project\odbc\ !^таблица.columns[]+ таблица из одного столбца $column !$отобранное[^таблица.select(выражение)] = таблица из тех же столбцов и строк, у которых условие совпало $adults[^man.select($man.age>=18)] - + ^таблица.color[цвет1;цвет2] !hash @@ -331,7 +331,7 @@ odbc c:\drives\y\parser3project\odbc\ !^a.intersection[b] = пересечение значения a !^a.intersects[b] = bool - !^hash::sql{запрос}[[$.limit(2) $.offset(4)]] + !^hash::sql{запрос}[[$.limit(2) $.offset(4) todo:$.default{$.field[]...}]] получается hash(ключи=значения первая колонка ответа) of hash(ключи=названия остальных колонкок ответа) !^hash._keys[]+ таблица из одного столбца $key @@ -538,7 +538,7 @@ Xhashfile разблокируется Xchmod[...] НЕТ И НЕ БУДЕТ, ЧТОБЫ НЕ МОГЛИ СДЕЛАТЬ executable и запустить, даже если ftp запрещает chmod. -!math +math !$math:PI !^math:round floor ceiling !^math:trunc frac @@ -548,6 +548,8 @@ Xhashfile !^math:degrees radians !^math:pow sqrt !^math:random(ширина диапазона) + ^math:{C2C0983C-E26E-4169-BD07-77ECE9405BA5} + !date !время типа time можно использовать в выражениях, подставляет @@ -558,9 +560,12 @@ Xhashfile !^date::now(смещение в днях) выдаёт сейчас+смещение !^date::create(дней с epoch) // старое имя set !^date::create(year;month[;day[;hour[;minute[;second]]]]) // старое имя set - ^date::sql-create[дата в формате %Y-%m-%d %H:%M:%S] + !^date::create[дата в формате %Y-%m-%d %H:%M:%S] для удобного создания по значению из базы - !$date.year month day hour minute second weekday read-only + формат1: %Y[-%m[-%d[ %H[:%M[:%S]]]]] + формат2: %H:%M[:%S] + !$date.year month day hour minute second weekday todo:yearday + read-only !^date.roll[year|month|day](+-смещение) сдвигает дату !^date.sql-string[] %Y-%m-%d %H:%M:%S where published='$дата.sql-string[]' @@ -687,7 +692,7 @@ xdoc(xnode) !void removeAttribute(in DOMString name) raises(DOMException) !Attr getAttributeNode(in DOMString name) !Attr setAttributeNode(in Attr newAttr) raises(DOMException) - !/*Attr*/ removeAttributeNode(in Attr oldAttr) raises(DOMException) + !Attr removeAttributeNode(in Attr oldAttr) raises(DOMException) !NodeList getElementsByTagName(in DOMString name) !void normalize() @@ -784,14 +789,11 @@ xdoc(xnode) кучи auto.p и запрашиваемого документа: !parser3.conf cgi: - 1. или полный путь из переменной окружения HTTP_PARSER_ROOT_CONFIG - или configure sysconfdir|windows directory - 2. или полный путь из переменной окружения HTTP_PARSER_SITE_CONFIG + 1. или полный путь из переменной окружения CGI_PARSER_SITE_CONFIG или рядом с бинарником parser'а isapi: windows directory apache module: - 1) ParserRootConfig [httpd.conf only] - 2) ParserSiteConfig [can be in .htaccess] + 1) ParserConfig [can be in .htaccess] !auto.p вниз от DOCUMENT_ROOT/ по дереву до каталога с обрабатываемым файлом включительно класс собирается из всех этих файлов, последующие становятся родителями предыдущих имя последнего загруженного MAIN, имён у предыдущих нет @@ -816,7 +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.lock shared/exclusive lock error !file.missing ^file:delete[delme] not found !file.access ^table::load[.] no rights !image.format ^image::measure[index.html] not gif/jpg