version 1.16, 2008/12/05 19:45:15 |
version 1.23, 2008/12/10 10:43:57 |
|
|
#include <stdlib.h> |
#include <stdlib.h> |
#include <string.h> |
#include <string.h> |
|
|
#include "libmdocml.h" |
|
#include "private.h" |
#include "private.h" |
#include "ml.h" |
#include "ml.h" |
|
|
Line 34 static ssize_t xml_begintag(struct md_mbuf *, void *, |
|
Line 33 static ssize_t xml_begintag(struct md_mbuf *, void *, |
|
const struct md_args *, |
const struct md_args *, |
enum md_ns, int, |
enum md_ns, int, |
const int *, const char **); |
const int *, const char **); |
|
static ssize_t xml_beginstring(struct md_mbuf *, |
|
const struct md_args *, |
|
const char *, size_t); |
|
static ssize_t xml_endstring(struct md_mbuf *, |
|
const struct md_args *, |
|
const char *, size_t); |
static int xml_begin(struct md_mbuf *, |
static int xml_begin(struct md_mbuf *, |
const struct md_args *, |
const struct md_args *, |
const struct tm *, |
const struct tm *, |
const char *, const char *, |
const char *, const char *, |
const char *, const char *); |
enum roffmsec, enum roffvol); |
static int xml_end(struct md_mbuf *, |
static int xml_end(struct md_mbuf *, |
const struct md_args *); |
const struct md_args *); |
static ssize_t xml_printtagname(struct md_mbuf *, |
static ssize_t xml_printtagname(struct md_mbuf *, |
Line 58 xml_printtagargs(struct md_mbuf *mbuf, const int *argc |
|
Line 63 xml_printtagargs(struct md_mbuf *mbuf, const int *argc |
|
return(0); |
return(0); |
assert(argc && argv); |
assert(argc && argv); |
|
|
|
/* LINTED */ |
for (res = 0, i = 0; ROFF_ARGMAX != (c = argc[i]); i++) { |
for (res = 0, i = 0; ROFF_ARGMAX != (c = argc[i]); i++) { |
if ( ! ml_nputs(mbuf, " ", 1, &res)) |
if ( ! ml_nputs(mbuf, " ", 1, &res)) |
return(-1); |
return(-1); |
|
|
|
/* FIXME: should puke on some, no? */ |
|
|
if ( ! ml_puts(mbuf, tokargnames[c], &res)) |
if ( ! ml_puts(mbuf, tokargnames[c], &res)) |
return(-1); |
return(-1); |
if ( ! ml_nputs(mbuf, "=\"", 2, &res)) |
if ( ! ml_nputs(mbuf, "=\"", 2, &res)) |
Line 116 xml_printtagname(struct md_mbuf *mbuf, enum md_ns ns, |
|
Line 124 xml_printtagname(struct md_mbuf *mbuf, enum md_ns ns, |
|
static int |
static int |
xml_begin(struct md_mbuf *mbuf, const struct md_args *args, |
xml_begin(struct md_mbuf *mbuf, const struct md_args *args, |
const struct tm *tm, const char *os, |
const struct tm *tm, const char *os, |
const char *title, const char *section, |
const char *title, enum roffmsec sec, enum roffvol vol) |
const char *vol) |
|
{ |
{ |
|
|
if ( ! ml_puts(mbuf, "<?xml version=\"1.0\" " |
if ( ! ml_puts(mbuf, "<?xml version=\"1.0\" " |
"encoding=\"UTF-8\"?>\n", NULL)) |
"encoding=\"UTF-8\"?>\n", NULL)) |
return(0); |
return(0); |
return(ml_puts(mbuf, "<mdoc xmlns:block=\"block\" " |
return(ml_puts(mbuf, "<mdoc xmlns:block=\"block\" " |
"xmlns:special=\"special\" " |
"xmlns:body=\"body\" " |
|
"xmlns:head=\"head\" " |
"xmlns:inline=\"inline\">", NULL)); |
"xmlns:inline=\"inline\">", NULL)); |
} |
} |
|
|
Line 140 xml_end(struct md_mbuf *mbuf, const struct md_args *ar |
|
Line 148 xml_end(struct md_mbuf *mbuf, const struct md_args *ar |
|
|
|
/* ARGSUSED */ |
/* ARGSUSED */ |
static ssize_t |
static ssize_t |
|
xml_beginstring(struct md_mbuf *mbuf, |
|
const struct md_args *args, |
|
const char *buf, size_t sz) |
|
{ |
|
|
|
return(0); |
|
} |
|
|
|
|
|
/* ARGSUSED */ |
|
static ssize_t |
|
xml_endstring(struct md_mbuf *mbuf, |
|
const struct md_args *args, |
|
const char *buf, size_t sz) |
|
{ |
|
|
|
return(0); |
|
} |
|
|
|
|
|
/* ARGSUSED */ |
|
static ssize_t |
xml_begintag(struct md_mbuf *mbuf, void *data, |
xml_begintag(struct md_mbuf *mbuf, void *data, |
const struct md_args *args, enum md_ns ns, |
const struct md_args *args, enum md_ns ns, |
int tok, const int *argc, const char **argv) |
int tok, const int *argc, const char **argv) |
|
|
xml_alloc(void **p) |
xml_alloc(void **p) |
{ |
{ |
|
|
|
*p = NULL; |
return(1); |
return(1); |
} |
} |
|
|
Line 210 md_init_xml(const struct md_args *args, |
|
Line 241 md_init_xml(const struct md_args *args, |
|
cbs.ml_endtag = xml_endtag; |
cbs.ml_endtag = xml_endtag; |
cbs.ml_begin = xml_begin; |
cbs.ml_begin = xml_begin; |
cbs.ml_end = xml_end; |
cbs.ml_end = xml_end; |
|
cbs.ml_beginstring = xml_beginstring; |
|
cbs.ml_endstring = xml_endstring; |
|
|
return(mlg_alloc(args, rbuf, mbuf, &cbs)); |
return(mlg_alloc(args, rbuf, mbuf, &cbs)); |
} |
} |