8
SablotSituation *parser;
10
void initXML(struct TestData *td) {
11
parser = new SablotSituation;
12
SablotCreateSituation(parser);
15
void releaseXML(struct TestData *td) {
16
SablotDestroySituation(*parser);
21
void parseXML(struct TestData *td, unsigned long iter) {
23
SDOM_Node pnode,node,tnode,node1,node2;
28
SablotCreateDocument(*parser, &dom);
29
SDOM_createElementNS(*parser,dom,&pnode,"http://www.w3.org/2001/12/soap-envelope","Envelope");
30
SDOM_appendChild(*parser,dom,pnode);
31
// SDOM_setAttribute(*parser,pnode,"xmlns:soap","http://www.w3.org/2001/12/soap-envelope");
32
SDOM_setAttribute(*parser,pnode,"xmlns:xsi","http://www.w3.org/2001/XMLSchema-instance");
33
SDOM_setAttribute(*parser,pnode,"xmlns:enc","http://www.w3.org/2001/12/soap-encoding");
34
SDOM_createElement(*parser,dom,&node,"Body");
35
SDOM_appendChild(*parser,pnode,node); pnode=node;
36
SDOM_createElementNS(*parser,dom,&node,"http://opcfoundation.org/webservices/OPCDA/","WriteResponse");
37
SDOM_appendChild(*parser,pnode,node); pnode=node;
38
SDOM_createElement(*parser,dom,&node,"WriteResult");
39
SDOM_setAttribute(*parser,node,"RcvTime","2002-04-29T10:16:26.6806250+02:00");
40
SDOM_setAttribute(*parser,node,"ReplyTime","2002-04-29T10:16:26.7806250+02:00");
41
SDOM_setAttribute(*parser,node,"ClientRequestHandle","WriteError");
42
SDOM_setAttribute(*parser,node,"RevisedLocaleID","en");
43
SDOM_setAttribute(*parser,node,"ServerState","running");
44
SDOM_appendChild(*parser,pnode,node);
45
SDOM_createElement(*parser,dom,&node1,"RItemList");
46
SDOM_appendChild(*parser,pnode,node1);
47
SDOM_createElement(*parser,dom,&node,"Errors");
48
SDOM_setAttribute(*parser,node,"ID","E_UNKNOWNITEMID");
49
SDOM_appendChild(*parser,pnode,node);
50
SDOM_createElement(*parser,dom,&node2,"Text");
51
SDOM_appendChild(*parser,node,node2);
52
SDOM_createTextNode(*parser,dom,&tnode,"The item does not exist in the server address space.");
53
SDOM_appendChild(*parser,node2,tnode);
54
SDOM_createElement(*parser,dom,&node,"Errors");
55
SDOM_setAttribute(*parser,node,"ID","S_CLAMP");
56
SDOM_appendChild(*parser,pnode,node);
57
SDOM_createElement(*parser,dom,&node2,"Text");
58
SDOM_appendChild(*parser,node,node2);
59
SDOM_createTextNode(*parser,dom,&tnode,"The value written was accepted but the output was clamped.");
60
SDOM_appendChild(*parser,node2,tnode);
63
SDOM_createElement(*parser,dom,&node,"Items");
64
SDOM_setAttribute(*parser,node,"ItemPath","");
65
SDOM_setAttribute(*parser,node,"ItemName","WrongItemID1");
66
SDOM_setAttribute(*parser,node,"Timestamp","0001-01-01T00:00:00.0000000+01:00");
67
SDOM_setAttribute(*parser,node,"ErrorID","E_UNKNOWNITEMID");
68
SDOM_appendChild(*parser,pnode,node);
69
SDOM_createElement(*parser,dom,&node1,"Value");
70
SDOM_appendChild(*parser,node,node1);
71
SDOM_setAttribute(*parser,node1,"xsi:nil","true");
73
SDOM_createElement(*parser,dom,&node,"Items");
74
SDOM_setAttribute(*parser,node,"ItemPath","");
75
SDOM_setAttribute(*parser,node,"ItemName","WrongItemID2");
76
SDOM_setAttribute(*parser,node,"Timestamp","0001-01-01T00:00:00.0000000+01:00");
77
SDOM_setAttribute(*parser,node,"ErrorID","E_UNKNOWNITEMID");
78
SDOM_appendChild(*parser,pnode,node);
79
SDOM_createElement(*parser,dom,&node1,"Value");
80
SDOM_appendChild(*parser,node,node1);
81
SDOM_setAttribute(*parser,node1,"xsi:nil","true");
83
SDOM_createElement(*parser,dom,&node,"Items");
84
SDOM_setAttribute(*parser,node,"ItemPath","/Reals");
85
SDOM_setAttribute(*parser,node,"ItemName","Float1");
86
SDOM_setAttribute(*parser,node,"ValueType","xsd:float");
87
SDOM_setAttribute(*parser,node,"Timestamp","2002-04-29T11:47:18.1493750+02:00");
88
SDOM_appendChild(*parser,pnode,node);
89
SDOM_createElement(*parser,dom,&node1,"Value");
90
SDOM_appendChild(*parser,node,node1);
91
SDOM_setAttribute(*parser,node1,"xsi:type","xsd:float");
92
SDOM_createTextNode(*parser,dom,&tnode,"10.0141414");
93
SDOM_appendChild(*parser,node1,tnode);
95
SDOM_createElement(*parser,dom,&node,"Items");
96
SDOM_setAttribute(*parser,node,"ItemPath","/Reals");
97
SDOM_setAttribute(*parser,node,"ItemName","Float2");
98
SDOM_setAttribute(*parser,node,"ValueType","xsd:float");
99
SDOM_setAttribute(*parser,node,"Timestamp","2002-04-29T11:47:18.1493750+02:00");
100
SDOM_setAttribute(*parser,node,"SuccessID","S_CLAMP");
101
SDOM_appendChild(*parser,pnode,node);
102
SDOM_createElement(*parser,dom,&node1,"Value");
103
SDOM_appendChild(*parser,node,node1);
104
SDOM_setAttribute(*parser,node1,"xsi:type","xsd:float");
105
SDOM_createTextNode(*parser,dom,&tnode,"1.07");
106
SDOM_appendChild(*parser,node1,tnode);
108
for (i=0;i<td->inc;i++) {
109
SDOM_createElement(*parser,dom,&node,"Items");
110
SDOM_setAttribute(*parser,node,"ItemPath","/Integer");
111
SDOM_setAttribute(*parser,node,"ItemName","IntN");
112
SDOM_setAttribute(*parser,node,"ValueType","xsd:int");
113
SDOM_setAttribute(*parser,node,"Timestamp","2002-04-29T11:47:18.1493750+02:00");
114
SDOM_setAttribute(*parser,node,"SuccessID","S_CLAMP");
115
SDOM_appendChild(*parser,pnode,node);
116
SDOM_createElement(*parser,dom,&node1,"Value");
117
SDOM_appendChild(*parser,node,node1);
118
SDOM_setAttribute(*parser,node1,"xsi:type","xsd:int");
119
sprintf(s,"%u",rand());
120
SDOM_createTextNode(*parser,dom,&tnode,s);
121
SDOM_appendChild(*parser,node1,tnode);
124
SDOM_docToString(*parser,dom,&xmldoc);
125
// if (iter==td->iterations) puts(xmldoc);
127
SablotDestroyDocument(*parser,dom);
131
int main(int argc, char *argv[]) {
132
return Test(argc,argv);