polserver/testsuite/escript/filemod/xml.src

69 lines
1.6 KiB
Text
Raw Permalink Normal View History

use file;
program XMLTest()
print("itertest...");
itertest();
print("membertest...");
membertest();
print("scopetest...");
scopetest();
print("not existing file...");
notexistingtest();
print("invalid file...");
invalidtest();
endprogram
function itertest()
var xml:=OpenXMLFile("filemod/xmltest.xml");
print(xml);
parsenode(xml,"");
endfunction
function parsenode(node,i)
foreach blubb in node
print(i+cstr(blubb)+" ["+blubb.type+"] ("+cstr(_blubb_iter)+")");
parseattrib(blubb,i+"-");
parsenode(blubb,i+" ");
endforeach
endfunction
function parseattrib(node,i)
foreach ele in (node.attributes)
print(i+cstr(ele)+" ("+_ele_iter+")");
endforeach
endfunction
function membertest()
var xml:=OpenXMLFile("filemod/xmltest.xml");
var root:=xml[2];
print("root= "+root);
print("firstchild= "+root.firstxmlchild());
print("firstchildstring= "+root.firstxmlchild("nodetwo"));
print("firstsibling= "+root.firstxmlchild().nextxmlsibling());
var node:=root.firstxmlchild("nodetwo");
print("attributes= "+node.attributes.propnames());
print("attributes= "+node.attributes["j"]);
endfunction
function scopetest()
var elem:=scopeloose();
print("root= "+elem);
print("firstchild= "+elem.firstxmlchild());
endfunction
function scopeloose()
var xml:=OpenXMLFile("filemod/xmltest.xml");
return xml[2].clonenode();
endfunction
function notexistingtest()
var xml:=OpenXMLFile("filemod/xmltestnotexisting.xml");
print(typeof(xml));
endfunction
function invalidtest()
var xml:=OpenXMLFile("filemod/xmlinvalid.xml");
print(typeof(xml));
endfunction