version 1.2, 2015/04/20 18:10:36
|
version 1.3, 2015/04/20 18:20:37
|
|
|
#include "xml.h" | #include "xml.h" |
#include <stdio.h> | #include <stdio.h> |
|
#include <stdlib.h> |
|
#include <string.h> |
|
#include <pal/format.h> |
|
|
|
#define T PAL_T |
| |
void XML_Elem_Dump( | void XML_Elem_Dump( |
const XML_Elem* s) |
_In_ const XML_Elem* s) |
{ | { |
static const char* _typeNames[] = |
static const XML_Char* _typeNames[] = |
{ | { |
"NONE", |
T("NONE"), |
"START", |
T("START"), |
"END", |
T("END"), |
"INSTRUCTION", |
T("INSTRUCTION"), |
"CHARS", |
T("CHARS"), |
"COMMENT", |
T("COMMENT"), |
}; | }; |
size_t i; | size_t i; |
| |
printf("==== XML_Elem:\n"); |
Tprintf(T("type={%T}\n"), tcs(_typeNames[(int)s->type])); |
printf("type={%s}\n", _typeNames[(int)s->type]); |
if (s->data.namespaceUriSize) |
printf("data={%s}\n", s->data); |
{ |
printf("size=%u\n", (int)s->size); |
Tprintf(T("data={%T:%T}\n"), tcs(s->data.namespaceUri), tcs(s->data.data)); |
|
} |
|
else |
|
{ |
|
Tprintf(T("data={%T}\n"), tcs(s->data.data)); |
|
} |
|
Tprintf(T("size=%u\n"), (int)s->data.size); |
| |
if (s->attrsSize) | if (s->attrsSize) |
{ | { |
for (i = 0; i < s->attrsSize; i++) | for (i = 0; i < s->attrsSize; i++) |
{ | { |
const XML_Attr* attr = &s->attrs[i]; | const XML_Attr* attr = &s->attrs[i]; |
printf("%s=%s\n", attr->name, attr->value); |
Tprintf(T("%T=%T\n"), tcs(attr->name.data), tcs(attr->value)); |
} | } |
} | } |
| |
putchar('\n'); |
Tprintf(T("\n")); |
} | } |
| |
void XML_NameSpace_Dump( | void XML_NameSpace_Dump( |
XML_NameSpace* self) |
_In_ XML_NameSpace* self) |
{ | { |
printf("==== XML_NameSpace:\n"); |
Tprintf(T("==== XML_NameSpace:\n")); |
printf("name={%s}\n", self->name); |
Tprintf(T("name={%T}\n"), tcs(self->name)); |
printf("id={%c}\n", (int)self->id); |
Tprintf(T("id={%c}\n"), (int)self->id); |
printf("uri={%s}\n", self->uri); |
Tprintf(T("uri={%T}\n"), tcs(self->uri)); |
printf("depth={%u}\n", (int)self->depth); |
Tprintf(T("depth={%u}\n"), (int)self->depth); |
putchar('\n'); |
Tprintf(T("\n")); |
} | } |
| |
void XML_Dump( | void XML_Dump( |
XML* self) |
_In_ XML* self) |
{ | { |
size_t i; | size_t i; |
| |
printf("==== XML:\n"); |
Tprintf(T("==== XML:\n")); |
printf("nameSpaces:\n"); |
Tprintf(T("nameSpaces:\n")); |
| |
for (i = 0; i < self->nameSpacesSize; i++) | for (i = 0; i < self->nameSpacesSize; i++) |
{ | { |
XML_NameSpace_Dump(&self->nameSpaces[i]); | XML_NameSpace_Dump(&self->nameSpaces[i]); |
} | } |
| |
putchar('\n'); |
Tprintf(T("\n")); |
|
} |
|
|
|
void XML_PutError(_Inout_ XML* self) |
|
{ |
|
if (self->status == -1) |
|
{ |
|
Tprintf( |
|
PAL_T("line %u: %T\n"), |
|
(int)self->line, |
|
tcs(self->message)); |
|
} |
} | } |