1 mike 1.1 #include "xml.h"
2 #include <stdio.h>
|
3 krisbash 1.3 #include <stdlib.h>
4 #include <string.h>
5 #include <pal/format.h>
6
7 #define T PAL_T
|
8 mike 1.1
9 void XML_Elem_Dump(
|
10 krisbash 1.3 _In_ const XML_Elem* s)
|
11 mike 1.1 {
|
12 krisbash 1.3 static const XML_Char* _typeNames[] =
|
13 mike 1.1 {
|
14 krisbash 1.3 T("NONE"),
15 T("START"),
16 T("END"),
17 T("INSTRUCTION"),
18 T("CHARS"),
19 T("COMMENT"),
|
20 mike 1.1 };
21 size_t i;
22
|
23 krisbash 1.3 Tprintf(T("type={%T}\n"), tcs(_typeNames[(int)s->type]));
24 if (s->data.namespaceUriSize)
25 {
26 Tprintf(T("data={%T:%T}\n"), tcs(s->data.namespaceUri), tcs(s->data.data));
27 }
28 else
29 {
30 Tprintf(T("data={%T}\n"), tcs(s->data.data));
31 }
32 Tprintf(T("size=%u\n"), (int)s->data.size);
|
33 mike 1.1
34 if (s->attrsSize)
35 {
36 for (i = 0; i < s->attrsSize; i++)
37 {
38 const XML_Attr* attr = &s->attrs[i];
|
39 krisbash 1.3 Tprintf(T("%T=%T\n"), tcs(attr->name.data), tcs(attr->value));
|
40 mike 1.1 }
41 }
42
|
43 krisbash 1.3 Tprintf(T("\n"));
|
44 mike 1.1 }
45
46 void XML_NameSpace_Dump(
|
47 krisbash 1.3 _In_ XML_NameSpace* self)
|
48 mike 1.1 {
|
49 krisbash 1.3 Tprintf(T("==== XML_NameSpace:\n"));
50 Tprintf(T("name={%T}\n"), tcs(self->name));
51 Tprintf(T("id={%c}\n"), (int)self->id);
52 Tprintf(T("uri={%T}\n"), tcs(self->uri));
53 Tprintf(T("depth={%u}\n"), (int)self->depth);
54 Tprintf(T("\n"));
|
55 mike 1.1 }
56
57 void XML_Dump(
|
58 krisbash 1.3 _In_ XML* self)
|
59 mike 1.1 {
60 size_t i;
61
|
62 krisbash 1.3 Tprintf(T("==== XML:\n"));
63 Tprintf(T("nameSpaces:\n"));
|
64 mike 1.1
65 for (i = 0; i < self->nameSpacesSize; i++)
66 {
67 XML_NameSpace_Dump(&self->nameSpaces[i]);
68 }
69
|
70 krisbash 1.3 Tprintf(T("\n"));
71 }
72
73 void XML_PutError(_Inout_ XML* self)
74 {
75 if (self->status == -1)
76 {
77 Tprintf(
78 PAL_T("line %u: %T\n"),
79 (int)self->line,
80 tcs(self->message));
81 }
|
82 mike 1.1 }
|