Keep white space for XML (do not pretty print)
authorAdam Dickmeiss <adam@indexdata.dk>
Fri, 5 Jul 2002 12:42:52 +0000 (12:42 +0000)
committerAdam Dickmeiss <adam@indexdata.dk>
Fri, 5 Jul 2002 12:42:52 +0000 (12:42 +0000)
configure.in
retrieval/d1_expat.c
retrieval/d1_write.c

index bd8e2e8..6ae63cf 100644 (file)
@@ -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)
index dc1ed78..4370187 100644 (file)
@@ -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; i<len; i++)
@@ -56,6 +61,7 @@ static void cb_chardata (void *user, const char *s, int len)
         ui->d1_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,
index 8789270..1e80c6b 100644 (file)
@@ -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 <string.h>
@@ -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, "%*s<?", col, "");
+           
+#if PRETTY_FORMAT
+            sprintf (line, "%*s", col, "");
             wrbuf_puts (b, line);
+#endif
+           wrbuf_puts (b, "<?");
             wrbuf_puts (b, c->u.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</%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, "</");
+               wrbuf_puts(b, tag);
+               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, "<!--", 4);
@@ -105,6 +126,7 @@ static int nodetoidsgml(data1_node *n, int select, WRBUF b, int col)
            switch (c->u.data.what)
            {
            case DATA1I_text:
+#if PRETTY_FORMAT
                 if (c->u.data.formatted_text)
                 {
                     wrbuf_write (b, p, l);
@@ -144,18 +166,28 @@ static int nodetoidsgml(data1_node *n, int select, WRBUF b, int col)
                     }
                     wrbuf_write(b, "\n", 1);
                 }
+#else
+                wrbuf_write (b, p, l);
+#endif
                break;
            case DATA1I_num:
                wrbuf_write(b, c->u.data.data, c->u.data.len);
-                wrbuf_write(b, "\n", 1);
+#if PRETTY_FORMAT
+                wrbuf_puts(b, "\n");
+#endif
                break;
            case DATA1I_oid:
                wrbuf_write(b, c->u.data.data, c->u.data.len);
-                wrbuf_write(b, "\n", 1);
+#if PRETTY_FORMAT
+                wrbuf_puts(b, "\n");
+#endif
            }
             if (c->which == DATA1N_comment)
             {
-                wrbuf_write (b, "-->\n", 4);
+                wrbuf_puts(b, "-->");
+#if PRETTY_FORMAT
+                wrbuf_puts(b, "\n");
+#endif
             }
        }
     }