Add version and DTD to xml output spew.
authorjbj <devnull@localhost>
Mon, 14 Jun 2004 02:42:44 +0000 (02:42 +0000)
committerjbj <devnull@localhost>
Mon, 14 Jun 2004 02:42:44 +0000 (02:42 +0000)
CVS patchset: 7316
CVS date: 2004/06/14 02:42:44

tools/rpmtool.c
tools/time.xml

index b13cad9..8089924 100644 (file)
@@ -8,6 +8,18 @@
 #include "misc.h"
 #include "debug.h"
 
+static const char * rpmxpDTD = "\
+<?xml version=\"1.0\"?>\n\
+<!DOCTYPE rpmHeader [\n\
+<!ELEMENT rpmHeader (rpmTag+)>\n\
+<!ELEMENT rpmTag       (string+|integer+|base64+)>\n\
+<!ATTLIST rpmTag name  CDATA #REQUIRED>\n\
+<!ELEMENT string       (#PCDATA)>\n\
+<!ELEMENT integer      (#PCDATA)>\n\
+<!ELEMENT base64       (#PCDATA)>\n\
+]>\n\
+";
+
 typedef enum rpmtoolComponentBits_e {
     RPMTOOL_NONE       = 0,
     RPMTOOL_LEAD       = (1 << 0),
@@ -220,8 +232,10 @@ fprintf(stderr, "*** Fopen(%s,w.ufdio)\n", (ofn != NULL ? ofn : "-"));
                s = "[%{*:xml}\n]";
                t = headerSprintf(h, s, rpmTagTable, rpmHeaderFormats, &errstr);
                
-               if (t != NULL)
+               if (t != NULL) {
+                   Fwrite(rpmxpDTD, strlen(rpmxpDTD), 1, fdo);
                    Fwrite(t, strlen(t), 1, fdo);
+               }
                t = _free(t);
            } else
                headerWrite(fdo, h, HEADER_MAGIC_YES);
index d03f384..4fde1b1 100644 (file)
@@ -2,8 +2,7 @@
 <!DOCTYPE rpmHeader [
 <!ELEMENT rpmHeader (rpmTag+)>
 <!ELEMENT rpmTag       (string+|integer+|base64+)>
-<!ATTLIST rpmTag name  CDATA #REQUIRED
->
+<!ATTLIST rpmTag name  CDATA #REQUIRED>
 <!ELEMENT string       (#PCDATA)>
 <!ELEMENT integer      (#PCDATA)>
 <!ELEMENT base64       (#PCDATA)>