--- parser3/www/htdocs/Attic/index.html 2002/06/25 15:08:09 1.78 +++ parser3/www/htdocs/Attic/index.html 2003/07/24 11:31:27 1.212 @@ -1,1807 +1,4 @@ -#@USE -#t.p - -@auto[filespec] -$selffilespec[$filespec] -#$form:here -$request:charset[windows-1251] -$response:charset[windows-1251] -$response:content-type[$.value[text/html]$.charset[$response:charset]] - -#@postprocess[body] -#$body -#$result[123] - -@main[] -#$a(123) -#^a.format[%.10u] -#$result[111] -#^f[a] -#^connect[mysql://mdm:4b833ljq@db-mysql/mdm]{ -# ^int:sql{select news_id from news where news_id=-1}[$.default{2}]
-# ^string:sql{select news_id from news where news_id=-1}[$.default{2}] -#} -#^eval(2) -#^tcrashlocaljunctionsv2[] -#^tcrashlocaljunctions[] -#^tjunctions[] -#^replacetest[] -#^matchoptionpp[] -#^txdocxnodechild[] -#^tclasses[] -#$math:PI -#^b:method[] -#^main[] -#^errort[] -#^tselectNumber[] -#$result[hello] -#^invaliddate2[] -#^process2[] -#^casehashtext[] -#^subjvaltest[] -#^tableselect0[] -#^memnotest1[] -#^transparams[] -#^voidparams[] -#^rolls2[] -#^cacheexpireschanging[] -#^cacheexpiresfixed[] -#^dateoffsets[] -#^exceptionTypes[] -#^roll2[] -#^rolls[] -#^exceptions1[] -#^locate_by_expr[] -#^method_junction_params{...} -#^verifyCookie[paf] -#^execlangs[] -#$t[^tobjeresult[]]$t.a -#^xmlprobs[] -#^doubleprobs[] -#^math:random(-10) -#^divnamestop[] -#^arrayclone[] -#^operator_tricks[] -#^xoutputrusattr[] -#^xdocset1[] -#^regexp3[] -#^exec2[] -#^tlock[] -#^xmloutattrwithoutvalue[] -#^precisionProblem[] -#^xpath[] -#^ttablesetlang[] -#^mail3[] -#^ttime[] -#^tupper[] -#^treplace[] -#^xslt2[] -#^tcache2[] -#$ORIGINS(1) -#$t[^table::set{a b} ^table::set{c d}] -#^ttaintuntaint[] -#^tappend2[] -#^badvsnprintf[] -#^badoracequoting[] -#^badconstructors[] -#^xloadwrongtable[] -#^xsetwrongtable[] -#^if($form:test){y}{n} -#^tablecolumnerror[] -#^roll[] -#^cookie2[] -#^tableset[] -#^math:PI.format{%.30f} -#^xchildren[] -#^thashforeach3[] -#^thashforeach2[] -#^thashforeach[] -#^thashdelete[] -#^connect[mysql://user:pass@cd.rinet.ru/db]{^void:sql{z} } -#^tappend[] -#^sappend[] -#^eval(10\3)
-#^tform[] -#^formattest[] -#^filelist[] -#^connect[mysql://user:pass@host]{ } -#^безнадёжна_попытка_поправить_непоправимое[] -#^tcache[] -#^thashfileexp[] -#^tcounter[] -#^tablehash[] -#j^hashfile[] -#^formclass[] -#^hren[] -#^domedit[] -#^domxslt[] -#^lsplit2[] -#^faceesize[] -#^imageresize[] -#^ifassignhash[] -#^tintdefault[] -#$response:status[404] -#^ifpasshash[] -#^movedir[] -#^replace[] -#^set[] -#^hash[]
-#$t[^methresult[]] ->$t -#^terror[] -#^ssave[] -#^calendar[] -#^thash[] -#^tdef[] -#^ford[] -#^tif[] -#^image[] -#^mail2[] -#^cookie[] -#^response[] -#^regexp2[] -#^ttablerem[] -#^pcre[] -#^regexp[]
-#^mail[] -#^exec[] -#^fori[] -#^tconnect[] -#^xslt[] -#^xml[] -#^header[] -#^tablehasht[] -#^datecreatestring[] -#^mssqltypes1[] -#^badthrows[] -#^xmlspace[] -#^counter[main.counter] -#^xpath2[] -#^callindirect[] -#^junctionprob[] -#^datecreatestring2[] -#^tstoredproc[] -#^tstoredproc2[] -#^forkeys[] -#^pngsize[] -#^checkList[] -#^datetest[] -#^tserge[] -#^envt[] -#^selectt[] -#^select2[] -#^selectSingle2[] -#^selectString2[] -#^selectNumber2[] -#^selectBool2[] -#^xdoccreate[] -#^xdoccreatetag[] -#^xdocload[] -#^xdocstring[] -#^xdocsave[] -#^div[] -#^datecreatestring3[] -#^tfilespec[] -#^tcrypt[] -#^cryptdocsample[] -#^sendtests[] -#^tnormalize[] -^xmltransformbyxdoc[] -
-OK - -@xmltransformbyxdoc[] -$xdoc[^xdoc::set{^process{ - - - - 1 2 - - -}}] -$sheet[^xdoc::create{ - - - -defparam1 -defparam2 - - - param1=
- param2=
- - test return -
- - - test return2 - - - - - z - para1= - -
- - -
- - - - -
-}] - - -$xdoc[^xdoc.transform[$sheet]] -$string[^xdoc.string[$.method[html]]] -^string.save[a] -^untaint[html]{$string} - - - -@tnormalize[] -#s состоит из 1000 фрагментов -$s[^for[i](0;999){фрагмент }] -#это займет много ресурсов -^s.match[фраг][g]{перга} -#это займет меньше ресурсов -#$normalized[^s.normalize[]] -#^normalized.match[фраг][g]{перга} - -@sendtests[] -#^text[] -#^html[] -#^text-n-html[] -#^file[] -#^text-n-file[] -^text-n-html-n-file[] -#^backwardcomp[] - -@backwardcomp[] -^mail:send[ - $.from[paf] - $.to[paf] - $.body[this is text value] -] - -@text[] -^mail:send[ - $.from[paf] - $.to[paf] - $.text[ - $.value[this is text value] - ] -] - -@html[] -^mail:send[ - $.from[paf] - $.to[paf] - $.html{this is html value ^taint[<] 10} -] - -@text-n-html[] -^mail:send[ - $.from[paf] - $.to[paf] - $.text[ - $.value[this is text value] - ] - $.html[ - $.value{this is html value ^taint[<] 10} - ] -] - -@file[] -^mail:send[ - $.from[paf] - $.to[paf] - $.file[^file::load[binary;image.jpg]] -] - -@text-n-file[] -^mail:send[ - $.from[paf] - $.to[paf] - $.text[ - $.value[this is text value] - ] - $.file[^file::load[binary;image.jpg]] -] - -@text-n-html-n-file[] -^mail:send[ - $.from[paf] - $.to[paf] - $.text[ - $.value[this is text value] - ] - $.html[ - $.COntent-type[$.value[text/html]$.charset[windows-1251xx]] - $.value{this is html value ^taint[<] 10} - ] - $.file[^file::load[binary;image.jpg]] -] - - - -@md5salt[] -1234 - -@cryptdocsample[] -$users[^table::create{name password -alice *** -bob *** -}] - -$htpasswd[^table::create[nameless]{}] -^users.menu{ - ^htpasswd.append{$users.name:^math:crypt[$users.password;^$apr1^$^md5salt[]]} -} - -^htpasswd.save[nameless;.htpasswd-parser-test] - - -@tcrypt[] -#^math:crypt[123;^$apr1^$1234567890abcdef]
-^math:crypt[123;^$apr1^$]
- -@tfilespec[] -src=$selffilespec
-dirname=^file:dirname[$selffilespec]
-basename=^file:basename[$selffilespec]
-justname=^file:justname[$selffilespec]
-justext=^file:justext[$selffilespec]
- -@datecreatestring3[] -$new_after[^date::now(-3)] -$articles[^table::create{id title last_update -1 привет 2002-07-03}] -^articles.menu{ - $last_update[^date::create[$articles.last_update]] - $articles.title - ^if($last_update > $new_after){новая} -
-} - -@div[] -$var(5) -^var.inc(7) -^var.dec(3) -^var.div(4) -^var.mul(2) -$var - - -@xdocsave[] -$document[^xdoc::create{ - -строка1
-строка2
-
}] -^document.save[test.xml] - -@xdocstring[] -$document[^xdoc::create{ - -строка1
-строка2
-
}] -^document.string[ - $.method[html] -] - - -@xdocload[] -$document[^xdoc::load[article.xml]] -$response:body[^document.file[$.media-type[text/xml]]] - - -@xdoccreatetag[] -$document[^xdoc::create[document]] -$paraNode[^document.createElement[para]] -$dummy[^document.documentElement.appendChild[$paraNode]] -$response:body[^document.file[$.media-type[text/xml]]] - - -@xdoccreate[] -$document[^xdoc::create{ - -текст -}] -$response:body[^document.file[$.media-type[text/xml]]] - -@selectBool2[] -$d[^xdoc::set{ -}] -^if(^d.selectBool[/t/@n > 10]){ - /t/@n больше 10 -}{ - не больше -} - - -@selectNumber2[] -$d[^xdoc::set{ -}] -^d.selectNumber[number(/t/@n)+1]
-^d.selectNumber[2*2]
- - -@selectString2[] -$d[^xdoc::set{ -}] -# результат=привет -^d.selectString[string(t/@attr)] - - -@selectSingle2[] -$d[^xdoc::set{ -}] -# результат=один элемент "t" -$element[^d.selectSingle[t]] -# результат=2 (количество атрибутов ) -Количество атрибутов: ^element.attributes._count[]
-# результат=не существует (нет ) -^if(^d.select[x]){ - x существует -}{ - x не существует -} - -@select2[] -$d[^xdoc::set{}] -# результат: список из одного элемента "t" -$list[^d.select[t]] -# результат: 2 = количество атрибутов -^list.0.attributes._count[]
-^for[i](0;$list-1){ - $attr[$list.$i] - $attr.nodeName = $attr.nodeType
-} - - -@selectt[] -$d[^xdoc::set{}] -$list[^d.select[t]] -^list.0.attributes._count[] - -@envt[] -$f[^file::exec[showenv.cmd; - $.bad[value] - $.CGI_good[value] -]] -$f.status
-$f.stderr
-
$f.text
- - -@tserge[] -^if(" 09 "){y} - -@datetest[] - $f[^file::stat[some.zip]] -Размер в байтах: $f.size
-Год создания: $f.cdate.year
-$now[^date::now[]] -$DAYS_CONSIDERED_NEW(3) -Статус: ^if($f.mdate >= $now-$DAYS_CONSIDERED_NEW){новый;старый} - - -@checkList[] -...^oneOf[a;a,b,c]...
-#...^oneOf[a;ax,b,c]...
-...^oneWord[word]...
-#...^oneWord[wo rd]...
- - -@oneOf[s;list][t] выдаёт строку, если строка она есть в списке(разделенном запятыми) -$t[^list.lsplit[,]] -^if(!^t.locate[piece;$s]){^throw[user;$s;unknown]} -$result[$s] - -@oneWord[s] -^if(^s.match[\W]){^throw[user.data;$s;not word]}{$s} - -@pngsize[] -$i[^image::measure[test.png]] -^i.html[] - - -@forkeys[] -$text[^form:fields.foreach[key;val]{$key=$val -}] -^text.save[ttt.txt] -=$text= - - -@tstoredproc2[] -^connect[odbc://DSN=nestle^;UID=nestle^;PWD=mbm32]{ - ^void:sql{exec pafvoid} -} - -@tstoredproc[] -^connect[odbc://DSN=nestle^;UID=nestle^;PWD=mbm32]{ - $t[^table::sql{exec pafproc}] -# $t[^table::sql{{call pafproc}}] - $c[^t.columns[]] - ^c.menu{$c.column}[
] -} - -@datecreatestring2[] - -^datecreatestring2show[2000] -^datecreatestring2show[2000-02] -^datecreatestring2show[2000-2-03] -^datecreatestring2show[2000-02-03 15] -^datecreatestring2show[2000-02-03 15:30] -^datecreatestring2show[2000-02-03 15:30:04] -^datecreatestring2show[2000-02-03 15:30:04 hren] -^datecreatestring2show[15:30] -^datecreatestring2show[15:30:05] -^datecreatestring2show[15:30:05 hren] -
- -@datecreatestring2show[s] -$date[^date::create[$s]] - -$s^date.sql-string[] - - - -@junctionprob[][l] -$l[123] -$a{$l} -^junctionprobnested[$a] -@junctionprobnested[p] -$p - - -@callindirecttarget[] -callindirecttarget called -@callindirect[] -$f[$callindirecttarget] -^f[] - -@xpath2[] -$xdoc[^xdoc::create{ - - - - - - -}] - -#^xdoc.string[] - -$fieldList[^xdoc.selectSingle[/doc/field-list]] -#^fieldList.childNodes._count[] -$fields[^fieldList.select[field]] -#^fields._count[] -^fields.foreach[k;node]{ - $node.nodeName
-} -@counter[filespec][f;s] -^file:lock[$filespec]{ - $f[^file::load[text;$filespec]] - $s[^eval($f.text+1)] - ^s.save[$filespec] -} -$s - -@xmlspace[] -$xdoc[^xdoc::set{^process{ - - - - 1 2 - - -}}] -$xdoc[^xdoc.transform[global.xsl]] -$string[^xdoc.string[$.method[html]]] -^string.save[a] -^untaint[html]{$string} - -@badthrows[] -#^throw[a;b;] -^throw[a;] - -@mssqltypes1[] -^connect[odbc://DSN=nestle^;UID=nestle^;PWD=mbm32]{ -# ^string:sql{select { ts '1998-05-02 01:23:56.123' }} -# ^string:sql{select CAST({ ts '1998-05-02 01:23:56.123' }AS smalldatetime)} -# ^string:sql{select CAST({ts '2002-04-28 00:00:00.000'} AS smalldatetime)} - $t[^table::sql{select a from paf}] - ^t.count[] -} - -@datecreatestring[] -$d[^date::create[2002-04-33 01:03:04]] -^d.sql-string[] - -@method[hash] -$hash.key -@mainZ[] -^method[ - $.key{code} -] - -@tablehasht[] -$t[^table::create{p -1 -3 -2 -4}] - -$h[^t.hash[p]] - -=^h._count[]= - - -@sqldefaults[] -^connect[mysql://mdm:4b833ljq@db-mysql/mdm]{ - ^int:sql{select news_id from news where news_id=-1}[$.default{2}]
- ^string:sql{select news_id from news where news_id=-1}[$.default{2}] -} -======= -
-OK ->>>>>>> 1.50 - -@tcrashlocaljunctionsv2[] -$a[ - $b{ $c[1] } -] -$b -$c - -@tcrashlocaljunctions[] -$var[aaa] -^if(1){ -^tcrashlocaljunctions1[] -} - -$j - -@tcrashlocaljunctions1[][var] -$var[varvalue] - $j{ - $var - } -$j - -@tjunctions[][tl] -$t[^t::create[]] -^tjunctionsi[] - -@tjunctionsi[][tl] -$tl[12345] -^t.tjunctionsm[ - $.key{ - $tl - } -] - -@replacetest[] -$b[b] -$s[ -aaaaaaaaaa${b}aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa${b}aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -] -^s.replace[^table::create{from to -ba !_}] - - -@matchoptionpp[] -#$ORIGINS(1) -$s[ -aaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -] -^s.match[b;g']{($match.prematch|$match.match|$match.postmatch)} - - -@txdocxnodechild[] -$xdoc[^xdoc::set{}] -$xdoc.nodeName -^xdoc.selectNumber[2*2] -$xdoc:ELEMENT_NODE - - -@tclasses[] -$t[^t::create[]] -^t.method[] -
-^t.base_method[] - - -@errort[] -^xdoc::create[a] -#^throw[user;here;this] - -@tselectNumber[] -$d[^xdoc::set{}] -^d.selectString[string(d/@attr)]
-^d.selectNumber[2*2]
-^d.selectNumber[number(/d/@n)+1]
- - -@invaliddate2[] -$d[^date::create(1018946575/60/60)] ^d.sql-string[] - -@process2[] -^^process{ - ^process{ - ^$a[^^if(0){^$.k[y]}{^$.k[^^hren[]n]}] ^$a.k - } -} - -@casehashtext[] -$tt[1] -$tmp[ - ^switch[$tt]{ - ^case[1]{ - $.aaa[123] - } - ^case[DEFAULT]{ - $.bbb[456] - } - } - shit! -] -#$tmp -$tmp.aaa - -@subjvaltest[] -$a12[val] -$b[12] -$a$b - -@tableselect0[] -$person[^table::create{name height -paf 1.77 -шохин 2.07 -moko 1.77 -}] -$nottoohigh[^person.select($person.height<2)] -^nottoohigh.menu{$nottoohigh.name
} - -@transparams[] -$idoc[^xdoc::create{}] -$odoc[^idoc.transform[global.xsl; - $.param1['1'] - $.param2['2'] -]] -
^taint[^odoc.string[$.method[html]]]
-
-@memnotest1[]
-^for[i](0;4000){
-
- $xxxx[$i]
- $xxxx
-
-}
-
-@memnotest1notes[]
-одна итерация цикла:
-[Mon Apr  8 20:12:02 2002] execution-------------------------|
-'469641+=28 wcodeframe -> 0 !optimize[3]''469669+=49 string от {} -> 0 optimize[3]'
-[Mon Apr  8 20:12:02 2002] 12:STRING__WRITE
-[Mon Apr  8 20:12:02 2002]  "|| "
-[Mon Apr  8 20:12:02 2002] 12:WITH_ROOT
-[Mon Apr  8 20:12:02 2002] 13:VALUE
-[Mon Apr  8 20:12:02 2002]  "xxxx" string
-[Mon Apr  8 20:12:02 2002] 14:CREATE_EWPOOL'469377+=24 wcodeframe -> 0 !optimize[1]''469401+=49 string -> 41 !optimize[7]'
-[Mon Apr  8 20:12:02 2002] 16:WITH_READ
-[Mon Apr  8 20:12:02 2002] 17:VALUE
-[Mon Apr  8 20:12:02 2002]  "i" string
-[Mon Apr  8 20:12:02 2002] 18:GET_ELEMENT
-[Mon Apr  8 20:12:02 2002] 17:WRITE_VALUE'469452+=40 MAX_NUMBER -> !~2 actual digits''469492+=49 -> 41 !'
-[Mon Apr  8 20:12:02 2002] 16:REDUCE_EWPOOL'469541+=24 VString -> 0 optimize[5]'
-[Mon Apr  8 20:12:02 2002] 15:CONSTRUCT_VALUE
-[Mon Apr  8 20:12:02 2002] 12:STRING__WRITE
-[Mon Apr  8 20:12:02 2002]  "| "
-[Mon Apr  8 20:12:02 2002] 12:WITH_READ
-[Mon Apr  8 20:12:02 2002] 13:VALUE
-[Mon Apr  8 20:12:02 2002]  "xxxx" string
-[Mon Apr  8 20:12:02 2002] 14:GET_ELEMENT
-[Mon Apr  8 20:12:02 2002] 13:WRITE_VALUE'469573+=41 string expand nothing for now'
-[Mon Apr  8 20:12:02 2002] 12:STRING__WRITE
-[Mon Apr  8 20:12:02 2002]  "||"'469617+=24 VString -> 0 !optimize[6]'
-[Mon Apr  8 20:12:02 2002] <-ja returned
-[Mon Apr  8 20:12:02 2002] ja->
-
-201/328=0.612804878049 %%optimized
-
-1.
-CREATE_*POOL
-    сделать
-*POOL_POOLED+CODE
-    где
-        wwrapper
-        и(возможно) wcodeframe
-        +string
-        стековая переменная
-
-2.
-избавиться от обёртки при возврате результата process [см. тело _for]
-
-3.
-сделать callback для process, чтобы вынести invariants из _for & co.
-
-4.
- @todo склеить get_element и write_value (при вставлении? write_value)
-
-5.
-reduce_*pool -> вариант получить именно string, без VString обёртки [часто
-обёртка сразу выбрасывается = не нужна]
-
-6.
-process вариант получить именно string, без VString обёртки [часто обёртка
-сразу выбрасывается = не нужна]
-
-7.
-string head, убить 8 байт неправильной link
-
-@voidparams[]
-^voidparamsm[$form:field]
-
-@voidparamsm[p]
-^p.int(123)
-
-@rolls2[]
-$now[^date::now[]]
-$d[^date::create($now.year;$now.month)] ^d.sql-string[]
-^for[i](1;12){ - ^d.roll[month](-1) ^d.sql-string[]
-} - -@cacheexpireschanging[] -^cache[$DB_HOME/keyключ][^date::now(+1)]{ ^rem{1 day} - ^cache[^date::now(+4/24/60/60)] -# ^cache(2) -# ^cache(0) - ^math:random(100) -} - - - -@cacheexpiresfixed[] -^cache[$DB_HOME/keyключ][^date::now(+2/24/60/60)]{ - ^math:random(100) -} - -@dateoffsets[] -$d[^date::create(^date::now[]+1/24/60)] -#$d[^date::now(+1/24/60)] -^d.sql-string[] -#$d - -@exceptionTypes[] -# parser.compile ^test[} компиляция (непарная скобка, ...) -# parser.runtime ^if(0). параметры (больше/меньше, чем нужно, не тех типов, ...) -# number.zerodivision ^eval(1/0) ^eval(1%0) -# number.format ^eval(abc*5) -# file.missing ^file:delete[delme] not found -# file.access ^table::load[.] no rights -# image.format ^image::measure[index.html] not gif/jpg -# sql.connect ^connect[mysql://baduser:pass@host/db]{} not found/timeout -# sql.execute ^connect[mysql://okuser:pass@host/db]{^void:sql{select bad}} syntax error -# xml ^xdoc::create{} any error in xml/xslt libs -# smtp.connect not found/timeout -# smtp.execute communication error - -@roll2[] -$d[^date::create(2002;4;2;2;2;3)] ^d.sql-string[]
-^d.roll[day](+365*3+1) ^d.sql-string[]
- - -@rolls[] -$d[^date::create(2002;4;4)] -^d.sql-string[]
-^for[i](1;7){ -^d.roll[day](-1) -^d.sql-string[]
-} -
-$d[^date::create(2002;3;28)] -^d.sql-string[]
-^for[i](1;7){ -^d.roll[day](+1) -^d.sql-string[]
-} -
-$d[^date::create(2002;12;3)] -^d.sql-string[]
-^for[i](1;14){ -^d.roll[day](-1) -^d.sql-string[]
-} -
-$d[^date::create(2002;10;19)] -^d.sql-string[]
-^for[i](1;14){ -^d.roll[day](+1) -^d.sql-string[]
-} - - - - - - -@exceptions1[] -^try{ - aaa - ^throw[custom1;paf;is stupid] -}{ - ^if($exception.type eq custom1){ -# $exception.handled(1) - ^throw[$exception] - type=$exception.type
- source=$exception.source
- file=$exception.file
- lineno=$exception.lineno
- comment=$exception.comment
- } -} - -@locate_by_expr[] -$t[^table::create{a b -1 nok -2 ok -3 nok -}] -^if(^t.locate($t.a==2)){$t.b}{n} - -@method_junction_params[param] -^if($param is junction){junction}{ne junction} - -@verifyCookie[value] -^if($cookie:dummyvote eq $value){ - $result(1) -}{ - $cookie:dummyvote[$value] - $result(0) -} - -@execlangs[] -$f[^file::exec[test.pl]] -err:$f.stderr
-^process{$f.text} -#$c[^t.columns[]] -#^c.menu{ -#* $c.column
-#} -c:$t.c
- -@tobjeresult[] -^table::create{a -12} - -@xmlprobs[] -$xmlDataType[^xdoc::load[program.xml]] -#
^taint[^xmlDataType.string[]]
-$xmlDataTypes[^xmlDataType.select[programs/program[@id=4]/data]]
-#=^xmlDataTypes._count[]=
-=^xmlDataTypes.0.getAttribute[type-id]=
-
-@doubleprobs[]
-$1(^math:radians(180))
-$2($math:PI)
-^if(^1.format[%.10f]==^2.format[%.10f]){y;n}
-^if($1==$2){y;n}
-^if(^math:radians(180)==$math:PI){y;n}
-
-
-@divnamestop[]
-$a(10)
-^eval($a\3)
-
-@arrayclone[]
-$t[^table::create{a	b
-1	11
-2	22
-}]
-$c[^table::create[$t]]
-^c.append{2	33}
-^t.count[]
-^c.count[]
-
-@operator_tricks[]
-^if(1){$a[^t[]]}
-$a!
-$a($b)
-^if(1){y}{n}
-$MAIN:a(^t[] eq OK)
-#$MAIN:a(1)
-^if($a){y}{n}
-#^if(1){y}{n}
-$form:if
-$a[$.n[1]]
-$a.if
-
-@xoutputrusattr[]
-$d[^xdoc::set{}]
-^show_xdoc2[$d]
-
-@xdocset1[]
-$d[^xdoc::set{=^taint[&]=}]
-^show_xdoc2[$d]
-
-@regexp3[]
-$s[abcАБВ]
-^if(^s.match[][i]){y}{n}
-
-
-@exec2[]
-$a[^file::exec[bin/t.cmd]]
-
^taint[$a.text]
|$a.status|$a.stderr
- - -@tlock[] -^file:lock[lockfile]{ - code -} - -@xmloutattrwithoutvalue[] -#$ORIGINS(1) -$doc[^xdoc::set{zz}] -$doc[^doc.transform[global.xsl]] -=^taint[html][^doc.string[$.method[html]]]= - - - -@precisionProblem[] -$a[123456789012345678901234567890] -$b(^a.double[]) -^b.format{%.20E} -
-^eval(2*2) - -@xpath[] -$xdoc[^xdoc::set{ -

привет

-}] -#^show_xdoc2[$xdoc] -$node[^xdoc.selectSingle[/document/block/p]] -^if(def $node){ - ^if($node is string){ - $node - }{ - ^if($node is hash){ - ^node._count[] - }{ - $node.nodeType - } - } -#$node.firstChild.nodeValue -}{ - node not found -} - - -@ttablesetlang[] -$a-tab-b[a b -1 2] - -$t[^table::set{$a-tab-b}] -=$t.a= -
- -$t[^table::set[nameless]{^taint[$a-tab-b]}] -=$t.0= -
- -$t[^table::set{^untaint{^taint[$a-tab-b]}}] -=$t.a= - -#^t.append{1 2} - -@mail3[] -^mail:send[ - $.from[Александр Петросян ] - $.to[Александр Петросян ] - $.subject[проверка4] - $.body[ - $.text[ - $.content-type[$.value[text/plain] $.charset[windows-1251]] - $.body[проверка] - ] - $.attachment[ - $.value[^file::load[text;index.html]] - $.file-name[привет всем.html] - ] - ] -] - - -@ttime[] -$now[^date::now[]] -$now.hour:$now.minute - -@tupper[] -$t[abcABCабвАБВ] -$t
-^t.upper[] - -@treplace[] -$copy-paste-clean[^table::set{a b -. _ -, _ -+ _ -& _ -? _ -= _}] - -$cache_key[^taint[в.а,с+я]&был?тут=недавно.cache] -# почему-то этот replace роняет апач в 500 ошибку :( -#^cache_key.replace[$copy-paste-clean] -$test[abc] -^test.save[$cache_key]saved
-$cache[^file:list[.;\.cache^$]] -^file:delete[$cache_key]deleted($cache.name)
- - - -@xslt2[] -$xdoc[^xdoc::set{ -

привет

-}] -^show_xdoc2[$xdoc] -^show_xdoc2[^xdoc.transform[templates/_document.xslt]] -
- - -@tcache2[] -^cache[$DB_HOME/keyключ](2){ - ^math:random(100) -} - -@ttaintuntaint[] -^taint[html][ - -]zz -
-^untaint[html]{1^taint[ ]2 3} - - -@tappend2[] -$t[^table::set{a b}]^t.append{1 2}$t.a - -@badvsnprintf[] -^connect[zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz]{ -} - - -@badoracequoting[] -$SQL.connect-string[oracle://webspb:webpwd@mts?NLS_LANG=RUSSIAN_AMERICA.CL8MSWIN1251&NLS_DATE_FORMAT=YYYY-MM-DD HH24:MI:SS] ^connect[$SQL.connect-string]{ -^void:sql{delete from paf} -^void:sql{insert into paf values (1, '$form:text')} -$paf[^table::sql{select * from paf}] -^paf.menu{ - $paf.id: ^untaint{$paf.block}
- -} -
- - -^rem{ -$news[^table::sql{select description from news}[$.limit(3)]] -^news.menu{ - ^untaint{$news.description}
- -} -
-} - -$tables[^table::sql{select table_name from user_tables}] -^tables.menu{ -$tables.table_name
-} - -} -
-$env:PATH - -@badconstructors[] -$bred[^string::length[]] -$bred[^response::clear[]] -$bred[^int::int[]] - - -@xloadwrongtable[] -$constr[^xdoc::load[wrongtable.xml]] -^show_xdoc2[$constr] - -@xsetwrongtable[] -$constr[^xdoc::set{ -^untaint[as-is]{$constructor}}] - - -@tablecolumnerror[] -$t[^table::set{a}] -$t.$a - -@roll[] -#$date[^date::set(1970;1;2)] -#^date.roll[month](-1) -$date[^date::set(2038;1;1)] -^date.roll[month](+1) -$date.year $date.month $date.day - -@cookie2[] -#=$cookie:clientType[$.value[test]]=
-=$cookie:clientType=
- - -@tableset[] -$a[^table::set{a -1 -2}] -^eval(100\$a) - - - -@zzz[] - - -$constructor[ - - -] - -$constr[^xdoc::set{ -^untaint[as-is]{$constructor}}] - -$children[$constr.documentElement.childNodes] -^if($children){ -^for[i](1;^children._count[]){ - $node[$children.$i] - $node.nodeName
-} -} - - -@thashforeach3[] -$h[ - $.a[1] - $.b[2] -] -$c[^table::set{a -^h.foreach[key;value]{$value -}}] -$c.a - -@thashforeach2[] -$h[ - $.a[1] - $.b[2] -] -$c[ -^h.foreach[key;value]{ - $.$key[$value] -} -] -$c.b - -@thashforeach[] -$h[ - $.a[1] - $.b[2] -] -^h.foreach[key;value]{ - $key=$value
-} - -@thashdelete[] -$h[$.a[1] $.b[2]] -was:
-count=^h._count[]
-b='$h.b'
- -^h.delete[b] - -now:
-count=^h._count[]
-b='$h.b' - -@sappend[] -$test[123] -^test.save[test] -^test.save[append;test] - -@tappend[] -$test[^table::set{a b -a1 b1}] -^test.save[test] -$test[^table::set{a b -a2 b2}] -^test.save[append;test] - - -@tform[] -^if(def $form:new_file){y}{n} -
- - - - -@formattest[] -$size(15.124) - -^size.format{%.2f} - -@filelist[] -$html[^file:list[.;\.html^$]] -^html.menu{ - $html.name
-} -
- -@безнадёжна_попытка_поправить_непоправимое[] -$dom_from_disk[^xdoc::load[input.xml]] -$dom_created_in_air[^xdoc::create[doc]] -^dom_created_in_air.documentElement.appendChild[^dom_from_disk.documentElement.cloneNode(1)] -^show_xdoc2[$dom_created_in_air] - - -@tcache[] -#^hashfile:clear[cache] -$code[^hashfile::open[$DB_HOME;cache]] -^code.cache[key](2){ - ^math:random(100) -# ^code.delete[] -} - -@thashfileexp[] -$hf[^hashfile::open[$DB_HOME;hashfile]] -$hf.paf[$.value[крут] $.expires(3)] -paf=$hf.paf -
-^hf.foreach[key;value]{ - $key=$value
-} -
-$hash[^hf.hash[]] -=$hash.paf= -
- -@tcounter[] -^tcounterone[$DB_HOME] -other root: -^tcounterone[${DB_HOME}2] -again, first: -^tcounterone[$DB_HOME] - -@tcounterone[DB_HOME] -$counter[^hashfile::open[$DB_HOME;counter]] -#^counter.clear[] -^counter.transaction{ -# $counter.value(10) - $counter.value($counter.value+1) -# ^counter.delete[value] - $counter.value -} -
-^rem{ -$hash[^counter.hash[]] -=$hash.value= -
-} - -@tablehash[] -$productList[^table::set{id name -1 носки -2 валенки -3 ушанка -}] - -#скажем, у первого дилера -$firstPriceList[^table::set{id price -1 0.3 -3 1000 -}] - -$firstPriceHash[^firstPriceList.hash[id]] - -^productList.menu{ - продукт "$productList.name" | цена у first: $firstPriceHash.[$productList.id].price
-} - - -@hashfile[] -$hf[^hashfile::assign[hashfile]] -#$hf.paf[крут5] -paf=$hf.paf - -@formclass[] -^$form:CLASS.a=$form:CLASS.a - -@domdata[] -^if(1){ -# $a{^hren[]} -} -$a -$xdoc[^xdoc::create[doc]] -$doc[$xdoc.documentElement] -$name[^doc.appendChild[^xdoc.createElement[name]]] -$text[^name.appendChild[^xdoc.createTextNode[петросян&coz]]] -^untaint[as-is]{=$text.nodeValue=} - -@domedit[] -^domdata[] -#$paf.nodeName
-#$doc.documentElement.nodeName
- -^show_xnode1[$xdoc.documentElement;0;1] -
-^show_xdoc2[$xdoc] -
- -@domxslt[] -^domdata[] -^show_xdoc2[^xdoc.transform[global.xsl;$.param1[123/]]] -
- -@lsplit2[] -$path[/optics/] -$pathTable[^path.lsplit[/]] -^pathTable.menu{ - ^if(def $pathTable.piece){ - =$pathTable.piece= - } -} - - -@faceesize[] -$k(2) -$pict[^image::load[paf.gif]] -$small[^image::create($pict.width/$k;$pict.height/$k)] -^small.copy[$pict](0;0;$pict.width;$pict.height;0;0;$small.width;$small.height;250) -$response:body[^small.gif[]] - -@imageresize[] -$k(2) -$pict[^image::create(400*$k;200*$k)] -$pict.line-width(2) -^pict.arc($pict.width/2;$pict.height/2;$pict.width-1;$pict.height-1;0;360;0x000000) -^pict.arc($pict.width/2;$pict.height/2;$pict.width-20;$pict.height-20;0+20;360-20;0xff0000) -#^pict.arc($pict.width/2;$pict.height/2;$pict.width;$pict.height;0;360;0xff0000) -^pict.circle($pict.width/2;$pict.height/2;$pict.height/2-20;0x0000ff) -^pict.arc($pict.width/2;$pict.height/2;$pict.height-26;$pict.height-26;0+20;360-20;0xff0000) -$response:body[^pict.gif[]] - -#$small[^image::create($pict.width/$k;$pict.height/$k)] -#^small.copy[$pict](0;0;$pict.width;$pict.height;0;0) -#^small.copy[$pict](0;0;$pict.width;$pict.height;0;0;$small.width;$small.height;0) - -#$response:body[^small.gif[]] - - -@tintdefault[] -#$abc[abc] -$abc[33] -^abc.int[z] -#^abc.int(123) - -@ifassignhash[] -$h[^if(1){$.a(1);$.a(2)}] -$h.a - -@ifpasshash[] -$a[$.e[a]] -$b[$.e[b]] -^ifpasshashdest[^if(1){$a;$b}] -#$x[^if(1){$a}{$b}] -#^ifpasshashdest[$x] - -@ifpasshashdest[p] -$p.e - -@movedir[] -^file:move[a;deeper/a] - -@replace[] -$a[12^;3] -^a.replace[^table::set{from to -2^; ! -}] - - -@set[] -^setdata[] -^a.add[$b] -add:$a.3
- -^setdata[] -^a.sub[$b] -sub2:$a.2
-sub1:$a.1
- -^setdata[] -$c[^a.union[$b]] -union3:$c.3
-union2:$c.2
- -^setdata[] -$c[^a.intersection[$b]] -intersection3:$c.3
-intersection2:$c.2
- -^setdata[] -intersects:^if(^a.intersects[$b]){y;n}
-intersects2:^if(^a.intersects[ ]){y;n}
- - -
- -@setdata[] -$a[$.1[a1] $.2[a2]] -$b[ $.2[b2] $.3[b3]] - - -@hash[] -$h[^hash::create[$._default[123]]] -$h.paf[not kretin] -$h.paf
-=$h.that=
- -@methresult[] -$result[^table::set{1}] - -@terror[] -^error[method z must be called with z] - -@syntax1[] -#^a[^b] - -@syntax2[] -#^a[ - -@ssave[] -$abc[abc] -^abc.save[abc] - -@calendar[] -2001;11:
-$week_days[^date:calendar[rus](2001;11)] -
-^week_days.menu{^for[wday](0;7){^if($week_days.$wday){$week_days.$wday; ^; ^;} }
} -
- -@thash[] -$table[^table::set{id name age -1 paf 278 -2 пиф 234 -}] -$hash[^table.hash[id;^table::set[nameless]{id -name}]] -$hash.2.id $hash.2.name $hash.2.age - -@tdef[] -$s[0] -if 0=^if($s){}{n}
-if def 0=^if(def $s){y}{}
-
- -@ford[] -^for[i](0;5){$i}{($i)} - -@tif[] -^if[def]{y;n} - -@image[] -$pict[^image::create(400;200)] -^pict.arc($pict.width/2;$pict.height/2;$pict.width-1;$pict.height-1;0;360;0x000000) -^pict.arc($pict.width/2;$pict.height/2;$pict.width-10;$pict.height-10;0+10;360-10;0xff0000) -#^pict.arc($pict.width/2;$pict.height/2;$pict.width;$pict.height;0;360;0xff0000) -^pict.circle($pict.width/2;$pict.height/2;$pict.height/2-10;0x0000ff) -^pict.arc($pict.width/2;$pict.height/2;$pict.height-26;$pict.height-26;0+10;360-10;0xff0000) -$response:body[^pict.gif[]] - - - -@mail2[] -^mail:send[ - $.content-type[$.value[text/plain] $.charset[windows-1251]] - $.from[Александр Петросян ] - $.to[Александр Петросян ] - $.subject[проверка] - $.body[проверка] -] - -@cookie[] -$env:HTTP_COOKIE
- -#$cookie:переменная[test тест ТЕСТ2] -=$cookie:переменная=
-#$cookie:переменная2[test тест ТЕСТ3] -=$cookie:переменная2=
-=$cookie:CLASS.переменная2=
- -@response[] -#^if($form:reload){ - $response:refresh[$.value[0] $.url[./t.html?uri=$env:SERVER_NAME]] -#} - -@xslt[] -^xdata[] -$transformed[^xdoc.transform[global.xsl;$.param1[123/]]] -^show_xdoc2[$transformed] - -@regexp2[] -$s[ select] -$s[^s.match[^^\s*][]{!}] -$s - -@header[] -$response:refresh[ - $.value[0] - $.url[http://design.ru?a=^taint[123]] -] - -@ttablerem[] -$table[^table::load[a.cfg]] -^table.menu{$table.a} - -@tconnect[] -^connect[mysql://test:test@paf/test?charset=cp1251_koi8&compress=1&timeout=1&named_pipe=1]{ -$tables[^table::sql{show tables}] -#$cols[^tables.columns[]] -#$cols.column -^tables.menu{ - $tables.[Tables_in_test]
-} -} - -@pcre[] -$s[1 2] -^s.match[\s;ig]{!} -#^s.match[\d;ig]{!} - - -@regexp[] -$s[abcАБВ] -^if(^s.match[б][i]){y}{n} - -@mail[] -#$ORIGINS(1) -^mail:send[ - $.from[paf@design.ru] - $.to[paf@design.ru] - $.body[1 - - 2 - - - 3] -] - -@exec[] -$a[^file::exec[fc.exe;;a;b]] -$a.status|$a.stderr
- -@fori[][i] -^for[i](1;3){... =$i= ...} - -@xdata0[] -#$response:content-type[$.value[text/html] $.charset[windows-1251]] -$xdoc[^xdoc::set{ - - - - P«^;AF B - - - ПИФ^taint[&] - - -}] - -@xdata[] -#$response:content-type[$.value[text/html] $.charset[windows-1251]] -$xdoc[^xdoc::set{^process{ - - - - P«^;AF B - - - ПИФ^taint[&] - - -}}] - -@xml[] -^xdata[] - -^show_xdoc2[$xdoc]
-#^show_xnode1[$xdoc]
-$people[^xdoc.select[*/man]] -#^show1[] -^show_xnodes1[$people]
-#^people.0.owner.hren[] - -^show_xnode1[^xdoc.selectSingle[*/man[2]/name];0;1]
- -by id: -^show_xnode1[^xdoc.getElementById[1];0;1] -
- -@show1[array] -^for[i](0;^array._count[]-1){ - $x[$array.$i] - $x.firstChild.nodeValue: - $pattributes[$x.parentNode.attributes] - ^if(^pattributes._count[]){ - $pattributes.id.name=$pattributes.id.nodeValue - } -
-} - -@show_xnodes1[array][i] -^for[i](0;^array._count[]-1){ - ^show_xnode1[$array.$i;0;1] -} - -@show_xnode1[x;level;single][l] -^if(def $x){ - ^for[l](0;$level-1){ ^; ^; ^; ^;} - ^if($x.nodeType == $xnode:ELEMENT_NODE){ - <^;$x.nodeName - $pairs[$x.attributes] - ^if(def $pairs){ - $names[^pairs._keys[]] - ^names.menu{ $names.key="$pairs.[$names.key].nodeValue"} - } - >^; - }{ - [$x.nodeType] - } - - ^if(def $x.nodeValue){$x.nodeValue}
- ^show_xnode1[$x.firstChild]($level+1) - ^if(!$single){ - ^show_xnode1[$x.nextSibling]($level) - } - - ^if($x.nodeType == $xnode:ELEMENT_NODE){ - ^for[l](0;$level-1){ ^; ^; ^; ^;}<^;/$x.nodeName>^;
- } +^string:sql{select 2*3} } - -@show_xdoc2[xdoc] -^xdoc.save[out/save.xml; -# $.encoding[utf-8] - $.method[xml] -] -$file[^xdoc.file[ - $.encoding[utf-8] - $.method[html] -]] -^file.save[text;out/save_file.html] -#$response:body[^xdoc.file[ $.media-type[text/paf] ]] -
^taint[html][^xdoc.string[
-	$.method[html]
-#	$.encoding[utF-8]
-#  	$.omit-xml-declaration[yes]
-#	$.standalone[no]
-#	-$.doctype-public[-//W3C//DTD XHTML]
-#	-$.doctype-system[/a/b/c/]
-#	$.indent[yes]
-#	$.media-type[text/paf]
-]]
-
+OK?