/xmlbench/trunk

To get this branch, use:
bzr branch http://darksoft.org/webbzr/xmlbench/trunk
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
using System;
using System.IO;
using System.Xml;

using XMLBench;

namespace XMLBench {
 public class MonoBench : XMLBench {
    string nsxsi="http://www.w3.org/2001/XMLSchema-instance";
    string nsenc="http://www.w3.org/2001/12/soap-encoding";
    string nssoap="http://www.w3.org/2001/12/soap-envelope";
    string nsopc="http://opcfoundation.org/webservices/OPCDA/";

    override public void ParseXML(int enlarge, int iters, int iter) {
        XmlDocument doc = new XmlDocument();

        XmlElement proot,pnode,node,node1,node2;
        StringWriter mem = new StringWriter();
        int i;

        doc = new XmlDocument();
        proot = doc.CreateElement("Envelope",nssoap);
        proot.SetAttribute("xmlns",nssoap);
        proot.SetAttribute("xmlns:xsi",nsxsi);
        proot.SetAttribute("xmlns:enc",nsenc);
        doc.AppendChild(proot);
        pnode = doc.CreateElement("Body",nssoap);
        proot.AppendChild(pnode);

        node=doc.CreateElement("WriteResponse",nsopc);
        pnode.AppendChild(node);
        pnode=node;
        node=doc.CreateElement("WriteResult",nsopc);
        node.SetAttribute("RcvTime","2002-04-29T10:16:26.6806250+02:00");
        node.SetAttribute("ReplyTime","2002-04-29T10:16:26.7806250+02:00");
        node.SetAttribute("ClientRequestHandle","WriteError");
        node.SetAttribute("RevisedLocaleID","en");
        node.SetAttribute("ServerState","running");
        pnode.AppendChild(node);
        node1=doc.CreateElement("RItemList",nsopc);
        pnode.AppendChild(node1);
        node=doc.CreateElement("Errors",nsopc);
        node.SetAttribute("ID","E_UNKNOWNITEMID");
        pnode.AppendChild(node);
        node2=doc.CreateElement("Text",nsopc);
        node.AppendChild(node2);
        node2.AppendChild(doc.CreateTextNode("The item does not exist in the server address space."));
        node=doc.CreateElement("Errors",nsopc);
        node.SetAttribute("ID","S_CLAMP");
        pnode.AppendChild(node);
        node2=doc.CreateElement("Text",nsopc);
        node.AppendChild(node2);
        node2.AppendChild(doc.CreateTextNode("The value written was accepted but the output was clamped."));

        pnode=node1;
        node=doc.CreateElement("Items",nsopc);
        node.SetAttribute("ItemPath","");
        node.SetAttribute("ItemName","WrongItemID1");
        node.SetAttribute("Timestamp","0001-01-01T00:00:00.0000000+01:00");
        node.SetAttribute("ErrorID","E_UNKNOWNITEMID");
        pnode.AppendChild(node);
        node1=doc.CreateElement("Value",nsopc);
        node.AppendChild(node1);
        node.SetAttribute("xsi:nil","true");

        node=doc.CreateElement("Items",nsopc);
        node.SetAttribute("ItemPath","");
        node.SetAttribute("ItemName","WrongItemID2");
        node.SetAttribute("Timestamp","0001-01-01T00:00:00.0000000+01:00");
        node.SetAttribute("ErrorID","E_UNKNOWNITEMID");
        pnode.AppendChild(node);
        node1=doc.CreateElement("Value",nsopc);
        node.AppendChild(node1);
        node.SetAttribute("xsi:nil","true");

        node=doc.CreateElement("Items",nsopc);
        node.SetAttribute("ItemPath","/Reals");
        node.SetAttribute("ItemName","Float1");
        node.SetAttribute("ValueType","xsd:float");
        node.SetAttribute("Timestamp","2002-04-29T11:47:18.1493750+02:00");
        pnode.AppendChild(node);
        node1=doc.CreateElement("Value",nsopc);
        node.AppendChild(node1);
        node.SetAttribute("xsi:type","xsd:float");
        node1.AppendChild(doc.CreateTextNode("10.0141414"));

        node=doc.CreateElement("Items",nsopc);
        node.SetAttribute("ItemPath","/Reals");
        node.SetAttribute("ItemName","Float2");
        node.SetAttribute("ValueType","xsd:float");
        node.SetAttribute("Timestamp","2002-04-29T11:47:18.1493750+02:00");
        node.SetAttribute("SuccessID","S_CLAMP");
        pnode.AppendChild(node);
        node1=doc.CreateElement("Value",nsopc);
        node.AppendChild(node1);
        node.SetAttribute("xsi:type","xsd:float");
        node1.AppendChild(doc.CreateTextNode("1.07"));

        for (i=0;i<enlarge;i++) {
            node=doc.CreateElement("Items",nsopc);
            node.SetAttribute("ItemPath","/Integer");
            node.SetAttribute("ItemName","IntN");
            node.SetAttribute("ValueType","xsd:int");
            node.SetAttribute("Timestamp","2002-04-29T11:47:18.1493750+02:00");
            node.SetAttribute("SuccessID","S_CLAMP");
            pnode.AppendChild(node);
            node1=doc.CreateElement("Value",nsopc);
            node.AppendChild(node1);
            node.SetAttribute("xsi:type","xsd:int");
            node1.AppendChild(doc.CreateTextNode(""+generator.Next()));
        }
        XmlTextWriter w = new XmlTextWriter(mem);
        doc.WriteTo(w);

//	if (iter==iters) Console.WriteLine(mem);
    }
 }

 public class Mono {
    public static void Main(string[] args) {
        XMLBench bench = new MonoBench();
        bench.Bench(args);
    }
 }
}