1 krisbash 1.1 #include "xml.h"
2 #include <stdio.h>
3
4 #if defined(CONFIG_ENABLE_WCHAR)
5 # define T(STR) L##STR
6 # define XML_printf wprintf
7 #else
8 # define T(STR) STR
9 # define XML_printf printf
10 #endif
11
12 void XML_Elem_Dump(
13 __in const XML_Elem* s)
14 {
15 static const Char* _typeNames[] =
16 {
17 T("NONE"),
18 T("START"),
19 T("END"),
20 T("INSTRUCTION"),
21 T("CHARS"),
22 krisbash 1.1 T("COMMENT"),
23 };
24 size_t i;
25
26 XML_printf(T("==== XML_Elem:\n"));
27 XML_printf(T("type={%s}\n"), _typeNames[(int)s->type]);
28 XML_printf(T("data={%s}\n"), s->data);
29 XML_printf(T("size=%u\n"), (int)s->size);
30
31 if (s->attrsSize)
32 {
33 for (i = 0; i < s->attrsSize; i++)
34 {
35 const XML_Attr* attr = &s->attrs[i];
36 XML_printf(T("%s=%s\n"), attr->name, attr->value);
37 }
38 }
39
40 putchar('\n');
41 }
42
43 krisbash 1.1 void XML_NameSpace_Dump(
44 __in XML_NameSpace* self)
45 {
46 XML_printf(T("==== XML_NameSpace:\n"));
47 XML_printf(T("name={%s}\n"), self->name);
48 XML_printf(T("id={%c}\n"), (int)self->id);
49 XML_printf(T("uri={%s}\n"), self->uri);
50 XML_printf(T("depth={%u}\n"), (int)self->depth);
51 XML_printf(T("\n"));
52 }
53
54 void XML_Dump(
55 __in XML* self)
56 {
57 size_t i;
58
59 XML_printf(T("==== XML:\n"));
60 XML_printf(T("nameSpaces:\n"));
61
62 for (i = 0; i < self->nameSpacesSize; i++)
63 {
64 krisbash 1.1 XML_NameSpace_Dump(&self->nameSpaces[i]);
65 }
66
67 putchar('\n');
68 }
|