28 #include <yaz/wrbuf.h>
30 #define IDSGML_MARGIN 75
32 #define PRETTY_FORMAT 0
46 for (i = 0; i < col; i++)
52 for (; p; p = p->
next)
56 wrbuf_puts(b, p->
name);
58 wrbuf_xmlputs(b, p->
name);
64 wrbuf_xmlputs(b, p->
value);
66 wrbuf_puts(b, p->
value);
78 if (*tag >=
'0' && *tag <=
'9')
80 for (i = 0; tag[i]; i++)
81 if (strchr(
" <>$,()[]", tag[i]))
88 wrbuf_puts(b,
" value=\"");
89 wrbuf_xmlputs(b, tag);
118 wrbuf_puts(b,
"?>\n");
122 if (select && !c->
u.
tag.node_selected)
154 char *p = c->
u.
data.data;
155 int l = c->
u.
data.len;
159 if (pretty_format && !c->
u.
data.formatted_text)
162 wrbuf_puts(b,
"<!--");
163 switch (c->
u.
data.what)
166 wrbuf_write(b, c->
u.
data.data, c->
u.
data.len);
169 if (!pretty_format || c->
u.
data.formatted_text)
171 wrbuf_xmlputs_n(b, p, l);
210 wrbuf_xmlputs_n(b, c->
u.
data.data, c->
u.
data.len);
215 wrbuf_xmlputs_n(b, c->
u.
data.data, c->
u.
data.len);
221 wrbuf_puts(b,
"-->");
240 wrbuf_puts(b,
">\n");
248 wrbuf_puts(b,
">\n");
static void indent(WRBUF b, int col)
static int nodetoidsgml(data1_node *n, int select, WRBUF b, int col, int pretty_format)
static void wrbuf_put_xattr(WRBUF b, data1_xattr *p)
char * data1_nodetoidsgml(data1_handle dh, data1_node *n, int select, int *len)
static int wordlen(char *b, int max)
static void wrbuf_write_tag(WRBUF b, const char *tag, int opening)
WRBUF data1_get_wrbuf(data1_handle dp)
#define data1_matchstr(s1, s2)
#define DATA1N_preprocess
int data1_is_xmlmode(data1_handle dh)
struct data1_node::@2::@7 preprocess
struct data1_node::@2::@3 root
struct data1_node * child
struct data1_xattr * next