4
4
import tango.io.Stdout;
5
5
import tango.text.xml.Document;
6
6
import tango.text.xml.DocPrinter;
7
import Float = tango.text.convert.Float;
10
11
Document!(char) doc = null;
13
double walker_process_node(doc.Node cur_node) {
16
auto value = cur_node.value();
19
res = Float.toFloat(value); //Float.parse(value);
26
foreach (cur_attr; cur_node.attributes) {
27
auto value = cur_attr.value();
30
res = Float.toFloat(value); //Float.parse(value);
40
//double walker(XmlPath!(char).NodeSet node) {
41
double walker(doc.Node node) {
46
// foreach (cur_node; node) {
47
for (cur_node = node; cur_node; cur_node = cur_node.next) {
53
// foreach (cur_node; node) {
54
for (cur_node = node; cur_node; cur_node = cur_node.next) {
55
// Stdout(node.name(), ":", cur_node.name(), "\n");
56
if (cur_node.type() is XmlNodeType.Element) {
58
res += walker_process_node(cur_node);
60
res+=walker(cur_node.child());
61
// res+=walker(cur_node.query.child());
12
70
extern(C) void initXML(TestData *td) {
13
71
doc = new Document!(char);
19
77
extern(C) void parseXML(TestData *td, uint iter) {
20
78
doc.parse(td.xml[0..td.xmllen]);
79
if (get_walk_mode()) {
80
// double res = walker(doc.elements.query.child());
81
double res = walker(doc.elements.child());
82
// Stdout(res);Stdout("\n");
22
85
auto print = new DocPrinter!(char);
23
86
Stdout(print(doc)).newline;