File:
[parser3project] /
parser3 /
tests /
149.html
Revision
1.5:
download - view:
text,
annotated -
select for diffs -
revision graph
Sun Jul 25 06:32:48 2010 UTC (15 years, 10 months ago) by
misha
Branches:
MAIN
CVS tags:
release_3_5_1,
release_3_5_0,
release_3_4_6,
release_3_4_5,
release_3_4_4,
release_3_4_3,
release_3_4_2,
release_3_4_1,
HEAD
- prepare tests to trim trailing methods' EOLs
@main[]
$xdoc[^xdoc::create{<?xml version="1.0" encoding="$request:charset"?>
<!DOCTYPE people>
<!--some comment-->
<people xmlns:first="http://parser.ru/first" xmlns:second="http://parser.ru/second">
<man first:attrname="attr value">
<name>ПИФ^taint[&]</name>
</man>
<man id="1" имя="word слово">
<name>P«^;AF B</name>
<tst:findme xmlns:tst="http://parser.ru/tst">secret</tst:findme>
</man>
</people>
}]
^dump[Origin;$xdoc]
^xdoc.documentElement.firstChild.nextSibling.getAttributeNS[http://parser.ru/first;attrname]
^xdoc.documentElement.lastChild.previousSibling.setAttributeNS[http://parser.ru/second;second:attrname2;value 2]
^dump[Added attrname2 for last 'man' element;$xdoc]
^xdoc.documentElement.firstChild.nextSibling.removeAttributeNS[http://parser.ru/first;attrname]
^dump[Removed attrname for first 'man' element;$xdoc]
^^x.getAttrinuteNS[...;attrname2]='^xdoc.documentElement.lastChild.previousSibling.getAttributeNS[http://parser.ru/second;attrname2]'<br />
$Attr[^xdoc.documentElement.lastChild.previousSibling.getAttributeNodeNS[http://parser.ru/second;attrname2]]
^$Attr.nodeValue='$Attr.nodeValue'<br />
$Attr.nodeValue[changed attribute value]
^dump[Changed attrname2 for last 'man' element;$xdoc]
#intentionally not predeclaring namespace. todo: think about that stuff
$newAttr[^xdoc.createAttributeNS[http://parser.ru/third;third:attrname3]]
$oldAttr[^xdoc.documentElement.lastChild.previousSibling.setAttributeNodeNS[$newAttr]]
^if($oldAttr is xnode){wrong;right}<br />
$newAttr.nodeValue[value3]
^dump[Added attrname3 for last 'man' element;$xdoc]
$NodeList[^xdoc.getElementsByTagNameNS[http://parser.ru/tst;findme]]
^show_xnodes1[$NodeList]<br /><br />
$man1[^xdoc.selectSingle[/people/man[@id=1]]]
^if(^man1.hasAttribute[id]){right;wrong2!}<br />
^if(^man1.hasAttributeNS[http://parser.ru/third;attrname3]){right;wrong3}
<hr />
/people/man[@id=1] ^if(^man1.hasAttributes[]){has;hasn't} attributes<br />
$name2[^xdoc.selectSingle[/people/man[@id=1]/name]]
/people/man[@id=1]/name ^if(^name2.hasAttributes[]){has;hasn't} attributes<br />
@dump[sTitle;xdoc]
^if(def $sTitle){<h2>$sTitle</h2>}
^show_xdoc2[$xdoc]<hr />
^show_xnode1[$xdoc]<hr />
<hr />
@show1[array][i;x;pattributes]
^for[i](0;$array-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;pairs;names]
^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}<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){ ^; ^; ^; ^;}<^;/$x.nodeName>^;<br />
}
}
@show_xdoc2[xdoc]
#$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>
E-mail: