#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),
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);
<!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)>