Diff for /parser3/www/htdocs/Attic/index.html between versions 1.3 and 1.211

version 1.3, 2002/01/31 12:00:43 version 1.211, 2003/03/08 12:22:06
Line 1 Line 1
 @auto[]  15
 $request:charset[windows-1251]  
 $response:charset[windows-1251]  
 $response:content-type[$.value[text/html]$.charset[$response:charset]]  
   
 @main[]  
 ^if(1){y}{n}  
 $form:if  
 $a[$.n[1]]  
 $a.if  
 #^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)<br>  
 #^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[]<hr>  
 #$t[^methresult[]] ->$t  
 #^terror[]  
 #^ssave[]  
 #^calendar[]  
 #^thash[]  
 #^tdef[]  
 #^ford[]  
 #^tif[]  
 #^image[]  
 #^mail2[]  
 #^cookie[]  
 #^response[]  
 #^regexp2[]  
 #^ttablerem[]  
 #^pcre[]  
 #^regexp[]<hr>  
 #^mail[]  
 #^exec[]  
 #^fori[]  
 #^tconnect[]  
 #^xslt[]  
 #^xml[]  
 #^header[]  
 <hr>  
 OK  
   
 @xoutputrusattr[]  
 $d[^xdoc::set{<?xml version="1.0" encoding="windows-1251"?><d attr="привет"/>}]  
 ^show_xdoc2[$d]  
   
 @xdocset1[]  
 $d[^xdoc::set{<?xml version="1.0"?><d>=^taint[&]=</d>}]  
 ^show_xdoc2[$d]  
   
 @regexp3[]  
 $s[abcАБВ]  
 ^if(^s.match[][i]){y}{n}  
   
   
 @exec2[]  
 $a[^file::exec[bin/t.cmd]]  
 <pre>^taint[$a.text]</pre>|$a.status|$a.stderr<hr>  
   
   
 @tlock[]  
 ^file:lock[lockfile]{  
         code  
 }  
   
 @xmloutattrwithoutvalue[]  
 #$ORIGINS(1)  
 $doc[^xdoc::set{<?xml version="1.0"?><doc background="">zz</doc>}]  
 $doc[^doc.transform[global.xsl]]  
 =^taint[html][^doc.string[$.method[html]]]=  
   
   
   
 @precisionProblem[]  
 $a[123456789012345678901234567890]  
 $b(^a.double[])  
 ^b.format{%.20E}  
 <hr>  
 ^eval(2*2)  
   
 @xpath[]  
 $xdoc[^xdoc::set{<?xml version="1.0" encoding="windows-1251" ?>  
 <document><block><p>привет</p></block></document>  
 }]  
 #^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=  
 <hr>  
   
 $t[^table::set[nameless]{^taint[$a-tab-b]}]  
 =$t.0=  
 <hr>  
   
 $t[^table::set{^untaint{^taint[$a-tab-b]}}]  
 =$t.a=  
   
 #^t.append{1    2}  
   
 @mail3[]  
 ^mail:send[  
         $.from[Александр Петросян <paf@design.ru>]  
         $.to[Александр Петросян <paf@design.ru>]  
         $.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<br>  
 ^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<br>  
 $cache[^file:list[.;\.cache^$]]  
 ^file:delete[$cache_key]deleted($cache.name)<br>  
   
   
   
 @xslt2[]  
 $xdoc[^xdoc::set{<?xml version="1.0" encoding="windows-1251" ?>  
 <document><block><p>привет</p></block></document>  
 }]  
 ^show_xdoc2[$xdoc]  
 ^show_xdoc2[^xdoc.transform[templates/_document.xslt]]  
 <hr>  
   
   
 @tcache2[]  
 ^cache[$DB_HOME/keyключ](2){  
         ^math:random(100)  
 }  
   
 @ttaintuntaint[]  
 <!-- некий панковский заголовок с буковкой C в круглых скобках -->^taint[html][  
   
 ]zz  
 <hr>  
 ^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}<hr>  
   
 }  
 <hr>  
   
   
 ^rem{  
 $news[^table::sql{select description from news}[$.limit(3)]]  
 ^news.menu{  
         ^untaint{$news.description}<hr>  
   
 }  
 <hr>  
 }  
   
 $tables[^table::sql{select table_name from user_tables}]  
 ^tables.menu{  
 $tables.table_name<br>  
 }  
   
 }  
 <hr>  
 $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{<?xml version="1.0" encoding="windows-1251z" ?>  
 <block-list>^untaint[as-is]{$constructor}</block-list>}]  
   
   
 @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]]=<br>  
 =$cookie:clientType=<br>  
   
   
 @tableset[]  
 $a[^table::set{a  
 1  
 2}]  
 ^eval(100\$a)  
   
   
   
 @zzz[]  
   
   
 $constructor[  
 <block1 name="main_srvr" type="0" label="Основное тело" />  
 <block2 name="main_srvr2" type="0" label="Основное тело" />  
 ]  
   
 $constr[^xdoc::set{<?xml version="1.0" encoding="windows-1251" ?>  
 <block-list>^untaint[as-is]{$constructor}</block-list>}]  
   
 $children[$constr.documentElement.childNodes]  
 ^if($children){  
 ^for[i](1;^children._count[]){  
         $node[$children.$i]  
         $node.nodeName<br>  
 }  
 }  
      
   
 @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<br>  
 }  
   
 @thashdelete[]  
 $h[$.a[1] $.b[2]]  
 was:<br>  
 count=^h._count[] <br>  
 b='$h.b' <br>  
   
 ^h.delete[b]   
   
 now:<br>  
 count=^h._count[] <br>  
 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}  
 <form method="post" enctype="multipart/form-data">  
 <input type="file" name="new_file" />  
 <input type=submit>  
 </input>  
   
 @formattest[]  
 $size(15.124)  
   
 ^size.format{%.2f}  
   
 @filelist[]  
 $html[^file:list[.;\.html^$]]  
 ^html.menu{  
         $html.name<br>  
 }  
 <hr>  
   
 @безнадёжна_попытка_поправить_непоправимое[]  
 $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  
 <hr>  
 ^hf.foreach[key;value]{  
         $key=$value<br>  
 }  
 <hr>  
 $hash[^hf.hash[]]  
 =$hash.paf=  
 <hr>  
   
 @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  
 }  
 <hr>  
 ^rem{  
 $hash[^counter.hash[]]  
 =$hash.value=  
 <hr>  
 }  
   
 @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<br>  
 }  
   
   
 @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<br>  
 #$doc.documentElement.nodeName<br>  
   
 ^show_xnode1[$xdoc.documentElement;0;1]  
 <hr>  
 ^show_xdoc2[$xdoc]  
 <hr>  
   
 @domxslt[]  
 ^domdata[]  
 ^show_xdoc2[^xdoc.transform[global.xsl;$.param1[123/]]]  
 <hr>  
   
 @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<br>  
   
 ^setdata[]  
 ^a.sub[$b]  
 sub2:$a.2<br>  
 sub1:$a.1<br>  
   
 ^setdata[]  
 $c[^a.union[$b]]  
 union3:$c.3<br>  
 union2:$c.2<br>  
   
 ^setdata[]  
 $c[^a.intersection[$b]]  
 intersection3:$c.3<br>  
 intersection2:$c.2<br>  
   
 ^setdata[]  
 intersects:^if(^a.intersects[$b]){y;n}<br>  
 intersects2:^if(^a.intersects[ ]){y;n}<br>  
   
   
 <hr>  
   
 @setdata[]  
 $a[$.1[a1] $.2[a2]]  
 $b[        $.2[b2] $.3[b3]]  
   
   
 @hash[]  
 $h[^hash::create[$._default[123]]]  
 $h.paf[not kretin]  
 $h.paf<br>  
 =$h.that=<br>  
   
 @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:<br>  
 $week_days[^date:calendar[rus](2001;11)]  
 <pre>  
 ^week_days.menu{^for[wday](0;7){^if($week_days.$wday){$week_days.$wday;&nbsp^;&nbsp^;} }<br>}  
 </pre>  
   
 @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}<br>  
 if def 0=^if(def $s){y}{}<br>  
 <hr>  
   
 @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[Александр Петросян <paf@design.ru>]  
         $.to[Александр Петросян <paf@design.ru>]  
         $.subject[проверка]  
         $.body[проверка]  
 ]  
   
 @cookie[]  
 $env:HTTP_COOKIE<br>  
   
 #$cookie:переменная[test тест ТЕСТ2]  
 =$cookie:переменная=<br>  
 #$cookie:переменная2[test тест ТЕСТ3]  
 =$cookie:переменная2=<br>  
 =$cookie:CLASS.переменная2=<br>  
   
 @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]<br>  
 }  
 }  
   
 @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<hr>  
   
 @fori[][i]  
 ^for[i](1;3){... =$i= ...}  
   
 @xdata0[]  
 #$response:content-type[$.value[text/html] $.charset[windows-1251]]  
 $xdoc[^xdoc::set{<?xml version="1.0" encoding="windows-1251"?>  
 <!--DOCTYPE people SYSTEM "D:\Y\parser3project\parser3\src\www\htdocs\people.dtd"-->  
 <people>  
         <man id="1" имя="word слово">  
                 <name>P&#171^;AF        B</name>  
         </man>  
                 <man id="2">  
                         <name>ПИФ^taint[&]</name>  
                 </man>  
 </people>  
 }]  
   
 @xdata[]  
 #$response:content-type[$.value[text/html] $.charset[windows-1251]]  
 $xdoc[^xdoc::set{^process{<?xml version="1.0" encoding="windows-1251"?>  
 <!--DOCTYPE people SYSTEM "D:\Y\parser3project\parser3\src\www\htdocs\people.dtd"-->  
 <people>  
         <man id="1" имя="word слово">  
                 <name>P&#171^;AF        B</name>  
         </man>  
                 <man id="2">  
             <name>ПИФ^taint[&]</name>  
                 </man>  
 </people>  
 }}]  
   
 @xml[]  
 ^xdata[]  
   
 ^show_xdoc2[$xdoc]<hr>  
 #^show_xnode1[$xdoc]<hr>  
 $people[^xdoc.select[*/man]]  
 #^show1[]  
 ^show_xnodes1[$people]<hr>  
 #^people.0.owner.hren[]  
   
 ^show_xnode1[^xdoc.selectSingle[*/man[2]/name];0;1]<hr>  
   
 by id:  
 ^show_xnode1[^xdoc.getElementById[1];0;1]  
 <hr>  
   
 @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  
                 }  
         <br>  
 }  
           
 @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){&nbsp^;&nbsp^;&nbsp^;&nbsp^;}  
     ^if($x.nodeType == $xnode:ELEMENT_NODE){  
         &lt^;$x.nodeName  
             $pairs[$x.attributes]  
             ^if(def $pairs){  
                 $names[^pairs._keys[]]  
                 ^names.menu{ $names.key="$pairs.[$names.key].nodeValue"}  
             }  
             &gt^;  
     }{  
         [$x.nodeType]  
     }  
       
     ^if(def $x.nodeValue){$x.nodeValue}<br>  
     ^show_xnode1[$x.firstChild]($level+1)  
     ^if(!$single){  
             ^show_xnode1[$x.nextSibling]($level)  
     }  
   
     ^if($x.nodeType == $xnode:ELEMENT_NODE){  
     ^for[l](0;$level-1){&nbsp^;&nbsp^;&nbsp^;&nbsp^;}&lt^;/$x.nodeName&gt^;<br>  
     }  
 }  
   
 @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]  ]]  
 <pre>^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]  
 ]]  
 </pre>  
   

Removed from v.1.3  
changed lines
  Added in v.1.211


E-mail: