(file) Return to dump.c CVS log (file) (dir) Up to [OMI] / omi / xml

 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 }

ViewCVS 0.9.2