Diff for /parser3/operators.ru.txt between versions 1.184 and 1.192

version 1.184, 2006/12/01 18:02:22 version 1.192, 2007/04/18 06:45:02
Line 132  Xне сделано, видимо, не будет сделано Line 132  Xне сделано, видимо, не будет сделано
   
         !odbc://DSN=dsn^;UID=user^;PWD=password^;ClientCharset=parser-charset          !odbc://DSN=dsn^;UID=user^;PWD=password^;ClientCharset=parser-charset
             ClientCharset << charset in which parser thinks client works              ClientCharset << charset in which parser thinks client works
               
           !sqlite://database
   
         для работы connect нужно, чтобы заранее(рекомендуется в системном parser3)          для работы connect нужно, чтобы заранее(рекомендуется в системном parser3)
         была определена таблица          была определена таблица
 #sql drivers  #sql drivers
 $SQL[  $SQL[
     $.drivers[^table::set{protocol    driver    client      $.drivers[^table::create{protocol    driver    client
 mysql    /www/parser3/libparser3mysql.so    /usr/local/lib/mysql/libmysqlclient.so  mysql    /www/parser3/libparser3mysql.so    /usr/local/lib/mysql/libmysqlclient.so
 pgsql    /www/parser3/libparser3pgsql.so    /usr/local/pgsql/lib/libpq.so  pgsql    /www/parser3/libparser3pgsql.so    /usr/local/pgsql/lib/libpq.so
 oracle    /www/parser3/libparser3oracle.so    /u01/app/oracle/product/8.1.5/lib/libclntsh.so?ORACLE_HOME=/u01/app/oracle/product/8.1.5&ORA_NLS33=/u01/app/oracle/product/8.1.5/ocommon/nls/admin/data  oracle    /www/parser3/libparser3oracle.so    /u01/app/oracle/product/8.1.5/lib/libclntsh.so?ORACLE_HOME=/u01/app/oracle/product/8.1.5&ORA_NLS33=/u01/app/oracle/product/8.1.5/ocommon/nls/admin/data
   sqlite    /www/parser3/libparser3sqlite.so    /usr/local/sqlite/lib/sqlite3.so
 odbc    c:\drives\y\parser3project\odbc\debug\parser3odbc.dll  odbc    c:\drives\y\parser3project\odbc\debug\parser3odbc.dll
 }]  }]
 ]  ]
Line 195  odbc    c:\drives\y\parser3project\odbc\ Line 198  odbc    c:\drives\y\parser3project\odbc\
     !есть глобальная строка/таблица $MAIN:CLASS_PATH с путём/путями к каталогу с классами.      !есть глобальная строка/таблица $MAIN:CLASS_PATH с путём/путями к каталогу с классами.
         !корень путя/путей считается от корня веб пространства.          !корень путя/путей считается от корня веб пространства.
     !2. ...относительно строчки из table $MAIN:CLASS_PATH, снизу вверх      !2. ...относительно строчки из table $MAIN:CLASS_PATH, снизу вверх
        задавайте её в parser3.conf вашего сайта         задавайте её в конфигурационном auto.p вашего сайта
   
     !глобальная табличка $CHARSETS[$.название[имя файла]]      !глобальная табличка $CHARSETS[$.название[имя файла]]
     !задаёт какие буквы считаются какими(whitespace, letter, etc), а также их unicode      !задаёт какие буквы считаются какими(whitespace, letter, etc), а также их unicode
Line 216  odbc    c:\drives\y\parser3project\odbc\ Line 219  odbc    c:\drives\y\parser3project\odbc\
     !$имя whitespace или ${имя}неважно  подстановка значения      !$имя whitespace или ${имя}неважно  подстановка значения
     !^имя параметры  вызов      !^имя параметры  вызов
     !$имя.CLASS класс значения      !$имя.CLASS класс значения
       !$имя.CLASS_NAME имя класса
     !$имя[$.key[] () {}]  конструктор элемента переменной-хэша $имя.key      !$имя[$.key[] () {}]  конструктор элемента переменной-хэша $имя.key
     !^method[$.key[] () {}] конструктор элемента параметра-хеша $parameter.key      !^method[$.key[] () {}] конструктор элемента параметра-хеша $parameter.key
     $CLASS.имя  обращение к переменной класса      $CLASS.имя  обращение к переменной класса
Line 257  odbc    c:\drives\y\parser3project\odbc\ Line 261  odbc    c:\drives\y\parser3project\odbc\
         0 или default          0 или default
     !^имя.double[] (default)      !^имя.double[] (default)
         0 или default          0 или default
       !^имя.bool[] + .bool(true|false)  bool значение
     !^void:sql{запрос без результата}{$.bind[см. table::sql]}      !^void:sql{запрос без результата}{$.bind[см. table::sql]}
   
   
 !int,double  !int,double
     !^имя.int[]  целочисленное значение       !^имя.int[]  целочисленное значение 
     !^имя.double[]+  double значение       !^имя.double[]+  double значение 
       !^имя.bool[] + .bool(true|false)  bool значение
     !^имя.inc(на сколько +)      !^имя.inc(на сколько +)
     !^имя.dec(на сколько -)      !^имя.dec(на сколько -)
     !^имя.mul(на сколько *)      !^имя.mul(на сколько *)
Line 286  odbc    c:\drives\y\parser3project\odbc\ Line 292  odbc    c:\drives\y\parser3project\odbc\
     !^имя.int[] .int(default) целочисленное значение строки.       !^имя.int[] .int(default) целочисленное значение строки. 
         если ломается преобразование, берётся default          если ломается преобразование, берётся default
     !^имя.double[]+ .double(default)  double значение строки      !^имя.double[]+ .double(default)  double значение строки
       !^имя.bool[] + .bool(default)  bool значение строки
         если ломается преобразование, берётся default          если ломается преобразование, берётся default
     !^имя.format[формат] %d  %.2f %02d...      !^имя.format[формат] %d  %.2f %02d...
     !^строка.match[шаблон][[опции поиска]]  $prematch $match $postmatch $1 $2...      !^строка.match[шаблон][[опции поиска]]  $prematch $match $postmatch $1 $2...
Line 433  odbc    c:\drives\y\parser3project\odbc\ Line 440  odbc    c:\drives\y\parser3project\odbc\
     !$form:qtail = строка со значением текста после второго "?xxxxx", если там не было ',' [imap]      !$form:qtail = строка со значением текста после второго "?xxxxx", если там не было ',' [imap]
     !$form:fields = hash со всеми полями формы      !$form:fields = hash со всеми полями формы
     !$form:tables.поле = table с одним столбцом "field" со значениями "поля"      !$form:tables.поле = table с одним столбцом "field" со значениями "поля"
       !$form:files.поле = hash со значениями полей типа файл, ключи - 0, 1, ..., значение - файл
     !$form:imap = хэш с ключами 'x' и 'y'      !$form:imap = хэш с ключами 'x' и 'y'
         со значением ?1,2 приписки при использовании server-site image map          со значением ?1,2 приписки при использовании server-site image map
   
Line 443  odbc    c:\drives\y\parser3project\odbc\ Line 451  odbc    c:\drives\y\parser3project\odbc\
 !cookie  !cookie
     !$cookie:имя считать старое или свежезаданное      !$cookie:имя считать старое или свежезаданное
     !$cookie:имя[значение] на 90 дней      !$cookie:имя[значение] на 90 дней
     !$cookie:имя[$.value[значение]  $.expires ЗНАЧЕНИЕ ]      !$cookie:имя[$.value[значение]  $.expires[ЗНАЧЕНИЕ] $.secure(true)]
     !значение поля expires может быть 'session', date, или число дней(0дней=session)      !значение поля expires может быть 'session', date, или число дней(0дней=session)
     ! если дата, она будет преобразована к формату "Sun, 25-Aug-2002 12:03:45 GMT"      ! если дата, она будет преобразована к формату "Sun, 25-Aug-2002 12:03:45 GMT"
       ! можно устанавливать bool свойства, например $.secure(true), $.httponly(true)
   
   
 !request  !request
     !$request:query          !$request:query    
Line 561  odbc    c:\drives\y\parser3project\odbc\ Line 571  odbc    c:\drives\y\parser3project\odbc\
     !если body указан hash, то это части, будут собраны текстовые блоки, затем вложения      !если body указан hash, то это части, будут собраны текстовые блоки, затем вложения
     !это старый формат, поддерживается для обратной совместимости      !это старый формат, поддерживается для обратной совместимости
     !если имя части начинается со слова text, то это текстовый блок.      !если имя части начинается со слова text, то это текстовый блок.
     !если имя части начинается со слова attach, то это вложение, формат задания::      !если имя части начинается со слова file, то это вложение, формат задания::
         !$attach[$.format[!uue|!base64] $.value[DATA] $.file-name[user-file-name]]          !$file[$.format[!uue|!base64] $.value[DATA] $.name[user-file-name]]
     !важно: при multipart не указывать content-type      !важно: при multipart не указывать content-type
         ^mail:send[          ^mail:send[
 #           по-умолчанию, совпадает с source encoding.  #           по-умолчанию, совпадает с source encoding.
Line 590  odbc    c:\drives\y\parser3project\odbc\ Line 600  odbc    c:\drives\y\parser3project\odbc\
                     $.body[слова]                      $.body[слова]
                 ]                  ]
 #для удобства скриптования можно указать только одну часть, при этом не будет multipart  #для удобства скриптования можно указать только одну часть, при этом не будет multipart
                 $.attach[                  $.file[
                    $.value[^file::load[my beloved.doc]]                     $.value[^file::load[my beloved.doc]]
                    $.file-name[мой любимый.doc]                     $.name[мой любимый.doc]
                      $.format[base64]
                 ]                  ]
                 $.attach2[                  $.file2[
                    $.value[^file::load[my beloved.doc]]                     $.value[^file::load[my beloved.doc]]
                    $.file-name[мой любимый.doc]                     $.name[мой любимый.doc]
                ]                 ]
             ]              ]
         ]          ]
Line 708  odbc    c:\drives\y\parser3project\odbc\ Line 719  odbc    c:\drives\y\parser3project\odbc\
         если есть вторая - это имя файла          если есть вторая - это имя файла
         если есть третья - это content-type          если есть третья - это content-type
     !^file.base64[] encode      !^file.base64[] encode
       !^file:base64[имя файла] encode
     !^file::base64[encoded string] decode      !^file::base64[encoded string] decode
     !^file:crc32[имя файла]      !^file:crc32[имя файла]
        вычисляет crc32 файла с указанным именем         вычисляет crc32 файла с указанным именем
Line 765  odbc    c:\drives\y\parser3project\odbc\ Line 777  odbc    c:\drives\y\parser3project\odbc\
         формат2: %H:%M[:%S]          формат2: %H:%M[:%S]
     !^date::unix-timestamp()      !^date::unix-timestamp()
     !^date.unix-timestamp[]      !^date.unix-timestamp[]
     !$date.year month day  hour minute second  weekday yearday(0...) daylightsaving TZ      !$date.year month day  hour minute second  weekday yearday(0...) daylightsaving TZ weekyear
         read-only          read-only
         TZ="" << локальная зона          TZ="" << локальная зона
     !^date.roll[year|month|day](+-смещение) сдвигает дату      !^date.roll[year|month|day](+-смещение) сдвигает дату
Line 809  xdoc(xnode) Line 821  xdoc(xnode)
     ::sql{...}      ::sql{...}
     !::create[[URI]]{<?xml?><string/>} старое имя 'set'      !::create[[URI]]{<?xml?><string/>} старое имя 'set'
     !::create[[URI]][qualifiedName]      !::create[[URI]][qualifiedName]
       !::create[file] can be usable: $f[^file::load[binary;http://;some http options here...]]$x[^xdoc::create[$f]]
       URI default = disk path to requested document        URI default = disk path to requested document
       для каталогов конечный / обязателен        для каталогов конечный / обязателен
     !::load[file.xml[;опции]]      !::load[file.xml[;опции]]
Line 1031  DATA::=string | file | hash Line 1044  DATA::=string | file | hash
 ]  ]
   
 !MAIN  !MAIN
     это класс, загружаемый на автомате из parser3.conf,       это класс, загружаемый на автомате из конфигурационного auto.p, 
     кучи auto.p и запрашиваемого документа:      кучи auto.p и запрашиваемого документа:
         !parser3.conf           !конфигурационный auto.p 
             cgi:               cgi: 
                 1. или полный путь из переменной окружения CGI_PARSER_SITE_CONFIG                  1. или полный путь из переменной окружения CGI_PARSER_SITE_CONFIG
                    или рядом с бинарником parser'а                      или рядом с бинарником parser'а 
Line 1045  DATA::=string | file | hash Line 1058  DATA::=string | file | hash
     имя последнего загруженного MAIN, имён у предыдущих нет      имя последнего загруженного MAIN, имён у предыдущих нет
           
     !после загрузки MAIN класса вызывается его @main[]      !после загрузки MAIN класса вызывается его @main[]
     !результат которого передаётся в его @post-process[data] if($data is string) ...      !результат которого передаётся в его @postprocess[data] if($data is string) ...
     !результат которого отдаётся пользователю      !результат которого отдаётся пользователю
   
 !если встречается ошибка и try не задан, её можно красиво сообщить пользователю,   !если встречается ошибка и try не задан, её можно красиво сообщить пользователю, 

Removed from v.1.184  
changed lines
  Added in v.1.192


E-mail: