From aeec32da5e13c9f46062d07ac3c16582dbd479c8 Mon Sep 17 00:00:00 2001 From: Adam Dickmeiss Date: Fri, 5 Jul 2002 12:42:52 +0000 Subject: [PATCH] Keep white space for XML (do not pretty print) --- configure.in | 7 ++++--- retrieval/d1_expat.c | 8 +++++++- retrieval/d1_write.c | 52 ++++++++++++++++++++++++++++++++++++++++---------- 3 files changed, 53 insertions(+), 14 deletions(-) diff --git a/configure.in b/configure.in index bd8e2e8..6ae63cf 100644 --- a/configure.in +++ b/configure.in @@ -1,6 +1,6 @@ dnl YAZ Toolkit, Index Data 1994-2001 dnl See the file LICENSE for details. -dnl $Id: configure.in,v 1.76 2002-06-02 21:34:45 adam Exp $ +dnl $Id: configure.in,v 1.77 2002-07-05 12:42:52 adam Exp $ AC_INIT(include/yaz/yaz-version.h) AM_INIT_AUTOMAKE(yaz, 1.8.8dev) dnl @@ -73,8 +73,9 @@ if test "$checkBoth" = "1"; then fi AC_CHECK_FUNC(gethostbyname, , AC_CHECK_LIB(nsl, main, [LIBS="$LIBS -lnsl"])) dnl +dnl dnl ------ EXPAT -expat=no +expat=yes AC_ARG_WITH(expat, [ --with-expat[=DIR] EXPAT library in DIR],[expat=$withval]) if test "$expat" != "no"; then xLIBS="$LIBS"; @@ -197,7 +198,7 @@ if test "$enable_tcpd" != ""; then fi dnl dnl ------ Headers -AC_CHECK_HEADERS(fnmatch.h) +AC_CHECK_HEADERS(fnmatch.h iconv.h) AC_STDC_HEADERS if test "$ac_cv_header_stdc" = "no"; then AC_MSG_WARN(Your system doesn't seem to support ANSI C) diff --git a/retrieval/d1_expat.c b/retrieval/d1_expat.c index dc1ed78..4370187 100644 --- a/retrieval/d1_expat.c +++ b/retrieval/d1_expat.c @@ -2,7 +2,7 @@ * Copyright (c) 2002, Index Data. * See the file LICENSE for details. * - * $Id: d1_expat.c,v 1.3 2002-07-03 10:04:04 adam Exp $ + * $Id: d1_expat.c,v 1.4 2002-07-05 12:42:52 adam Exp $ */ #if HAVE_EXPAT_H @@ -46,6 +46,11 @@ static void cb_end (void *user, const char *el) static void cb_chardata (void *user, const char *s, int len) { struct user_info *ui = (struct user_info*) user; +#if 1 + yaz_log (LOG_DEBUG, "cb_chardata %.*s", len, s); + ui->d1_stack[ui->level] = data1_mk_text_n (ui->dh, ui->nmem, s, len, + ui->d1_stack[ui->level -1]); +#else int i; for (i = 0; id1_stack[ui->level] = data1_mk_text_n (ui->dh, ui->nmem, s, len, ui->d1_stack[ui->level -1]); } +#endif } static void cb_decl (void *user, const char *version, const char*encoding, diff --git a/retrieval/d1_write.c b/retrieval/d1_write.c index 8789270..1e80c6b 100644 --- a/retrieval/d1_write.c +++ b/retrieval/d1_write.c @@ -3,7 +3,7 @@ * See the file LICENSE for details. * Sebastian Hammer, Adam Dickmeiss * - * $Id: d1_write.c,v 1.13 2002-07-03 10:04:04 adam Exp $ + * $Id: d1_write.c,v 1.14 2002-07-05 12:42:52 adam Exp $ */ #include @@ -13,6 +13,8 @@ #define IDSGML_MARGIN 75 +#define PRETTY_FORMAT 0 + static int wordlen(char *b, int max) { int l = 0; @@ -34,9 +36,12 @@ static int nodetoidsgml(data1_node *n, int select, WRBUF b, int col) if (c->which == DATA1N_preprocess) { data1_xattr *p; - - sprintf (line, "%*su.preprocess.target); for (p = c->u.preprocess.attributes; p; p = p->next) { @@ -67,8 +72,11 @@ static int nodetoidsgml(data1_node *n, int select, WRBUF b, int col) { data1_xattr *p; - sprintf (line, "%*s<", col, ""); +#if PRETTY_FORMAT + sprintf (line, "%*s", col, ""); wrbuf_puts (b, line); +#endif + wrbuf_puts (b, "<"); wrbuf_puts (b, tag); for (p = c->u.tag.attributes; p; p = p->next) { @@ -79,11 +87,22 @@ static int nodetoidsgml(data1_node *n, int select, WRBUF b, int col) wrbuf_puts (b, p->value); wrbuf_putc (b, '"'); } - wrbuf_puts(b, ">\n"); + wrbuf_puts(b, ">"); +#if PRETTY_FORMAT + wrbuf_puts(b, "\n"); +#endif if (nodetoidsgml(c, select, b, (col > 40) ? 40 : col+2) < 0) return -1; - sprintf (line, "%*s\n", col, "", tag); - wrbuf_write(b, line, strlen(line)); +#if PRETTY_FORMAT + sprintf (line, "%*s", col); + wrbuf_puts(b, line); +#endif + wrbuf_puts(b, ""); +#if PRETTY_FORMAT + wrbuf_puts (b, "\n"); +#endif } } else if (c->which == DATA1N_data || c->which == DATA1N_comment) @@ -93,11 +112,13 @@ static int nodetoidsgml(data1_node *n, int select, WRBUF b, int col) int first = 1; int lcol = col; +#if PRETTY_FORMAT if (!c->u.data.formatted_text) { sprintf(line, "%*s", col, ""); wrbuf_write(b, line, strlen(line)); } +#endif if (c->which == DATA1N_comment) { wrbuf_write (b, "\n", 4); + wrbuf_puts(b, "-->"); +#if PRETTY_FORMAT + wrbuf_puts(b, "\n"); +#endif } } } -- 1.7.10.4