--- parser3/operators.txt 2002/06/24 11:59:31 1.51 +++ parser3/operators.txt 2002/08/07 07:32:52 1.64 @@ -272,14 +272,17 @@ odbc c:\drives\y\parser3project\odbc\ <0 = не найдено !^строка.replace[$таблица_подстановок_строка_на_строку] !^строка.save[[append;]путь] + !^строка.normalize[] выдает другую строку, в которой фрагменты на одном языке объединены + полезно делать перед сложными match операциями, если вы знаете, что входная строка + состоит из большого числа фрагментов !table в выражении логическое значение равно "не пуста?" числовое значение равно count[] !^table::create[[nameless]]{данные} старое имя "set" - !^table::create[table] - клонирует таблицу + !^table::create[table][[$.limit(1) $.offset(5) $.offset[cur]]] + клонирует таблицу !^table::load[[nameless;]путь] !если не nameless, названия колонок берутся из первой строки !пустые строки, и строки в первой колонке содержащие '#', игнорируются @@ -300,7 +303,7 @@ odbc c:\drives\y\parser3project\odbc\ X^таблица.remove(position[;count]) - стирает запись из текущей позиции [стирает запись из конкретной позиции] [стирает count записей] - !^таблица.join[таблица] - добавляет записи из таблицы. + !^таблица.join[таблица][$.limit(1) $.offset(5) $.offset[cur]] - добавляет записи из таблицы. таблицы должны иметь одинаковую структуру. !^таблица.flip[] выдаёт транспонированную, надо куда-то сложить, потом пользовать !^таблица.locate[поле;значение] передвигает текущую строку, если найдёт. выдаёт bool @@ -418,14 +421,12 @@ Xhashfile .from .reply-to .subject - .date класса data + .date класса date .message-id .raw[ .СЫРОЕ_ПОЛЬЗОВАТЕЛЬСКОЕ-ПОЛЕ-ЗАГОЛОВКА ] - .text если из письма можно вынуть текст, он тут - .html если из письма можно вынуть HTML, он тут - $.{text|html|file}#[ << нумеруется как и в mail:send (text, text2, ...) (attachment, attachment2, ...) + $.{text|html|file#}[ << нумеруется как и в mail:send (text, text2, ...) (file, file2, ...) $.content-type[ $.value[{text|...|x-unknown}/{plain|html|...|x-unknown}] [$.charset[windows-1251]] << в каком пришло, сейчас уже перекодировано @@ -440,7 +441,7 @@ Xhashfile ] $.value[строка|FILE] ] - $.message#[MESSAGE] + $.message#[MESSAGE] (message, message2, ...) !^mail:send[ $.charset[кодировка заголовка и текстовых блоков] @@ -590,7 +591,7 @@ Xhashfile возвращённый заголовок рассыпается на $поля $status $stderr - !^file::exec[имя файла[;env hash[;1cmd[;2line[;3ar[;4g[;5s;...under win32 max 10 args]]]]]]] + !^file::exec[имя файла[;env hash $.stdin[текст][;1cmd[;2line[;3ar[;4g[;5s;...under win32 max 10 args]]]]]]] !^file:move[старое имя файла;новое имя файла] можно переименовывать и двигать каталоги[win32: но не через границу дисков] каталоги для dest создаются с правами 775 @@ -618,7 +619,11 @@ math !^math:pow sqrt !^math:random(ширина диапазона) ^math:GUID {C2C0983C-E26E-4169-BD07-77ECE9405BA5} - !^math:crypt[password;$apr1$salt] + !^math:crypt[password;salt] + salt prefix $apr1$ вызывает встроенный MD5 алгоритм, + если нет тела salt, оно создаётся случайным + $1$ вызывает MD5 алгоритм функции OS 'crypt', если поддерживается [заведомо нет на solaris]. + другие salt читайте документацию по функции OS 'crypt'. !date !время типа time можно использовать в выражениях, подставляет @@ -636,10 +641,11 @@ math !$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[]' !^date:calendar[rus|eng;год;месяц] выдаёт неименованную таблицу - столбцы: 0..6 + столбцы: 0..6, week !^date:calendar[rus|eng;год;месяц;день] выдаёт именнованную таблицу столбцы: year, month, day, weekday @@ -671,10 +677,12 @@ xdoc(xnode) !равно текущей кодировке выходной страницы, $response:charset ::sql{...} - !::create{} старое имя 'set' - !::create[qualifiedName] + !::create[[URI]]{} старое имя 'set' + !::create[[URI]][qualifiedName] + URI default = disk path to requested document + для каталогов конечный / обязателен !::load[file.xml] - !.transform[rules.xsl][[params hash]] выдаёт dom + !.transform[rules.xsl|xdoc][[params hash]] выдаёт dom шаблон кэшируется, кэш обновляется при изменении даты файла шаблона, или изменении даты файла "имя шаблона.stamp"[проверка даты stamp приоритетнее] } any error in xml/xslt libs !smtp.connect not found/timeout !smtp.execute communication error - - + !email.format hren tam@null.ru wrong email format(bad chars/empty) + !нужно выключить русский apache: CharsetDisable on !если в MAIN будет определён флаг $ORIGINS(1) то вместо обычного вывода страницы будет