const char videocd_dtd[] = \
 "<!--\n" \
 " VCDImager VideoCD XML 1.0 DTD \n" \
 "\n" \
 " Copyright (c) 2000-2001  Herbert Valerio Riedel <hvr@gnu.org>\n" \
 "\n" \
 " Namespace = \"http://www.gnu.org/software/vcdimager/1.0/\"\n" \
 "\n" \
 " This DTD module is identified by the PUBLIC and SYSTEM identifiers:\n" \
 "\n" \
 " PUBLIC \"-//GNU//DTD VideoCD//EN\"\n" \
 " SYSTEM \"http://www.gnu.org/software/vcdimager/videocd.dtd\"\n" \
 "\n" \
 " $Revision$\n" \
 " $Date$\n" \
 "\n" \
 "-->\n" \
 "\n" \
 "<!ENTITY % URI \"CDATA\">\n" \
 "\n" \
 "<!ENTITY % itemattrs\n" \
 " \"id        ID           #REQUIRED\n" \
 "  src       %URI;        #REQUIRED\"\n" \
 ">\n" \
 "\n" \
 "<!ELEMENT videocd (option*,info,pvd,filesystem?,segment-items?,sequence-items,pbc?)>\n" \
 "<!ATTLIST videocd\n" \
 "  class     CDATA                    #REQUIRED\n" \
 "  version   CDATA                    #REQUIRED\n" \
 "  xmlns     %URI;                    #FIXED 'http://www.gnu.org/software/vcdimager/1.0/'\n" \
 ">\n" \
 "\n" \
 "<!ELEMENT option EMPTY>\n" \
 "<!ATTLIST option \n" \
 "  name	    CDATA	             #REQUIRED\n" \
 "  value     CDATA                    #IMPLIED\n" \
 ">\n" \
 "\n" \
 "<!--======================================================================-->\n" \
 "\n" \
 "<!ELEMENT info (album-id?,volume-count?,volume-number?,next-volume-use-sequence2?,next-volume-use-lid2?,restriction?,start-time-offset*)>\n" \
 "\n" \
 "<!ELEMENT album-id (#PCDATA)>\n" \
 "<!ELEMENT volume-count (#PCDATA)>\n" \
 "<!ELEMENT volume-number (#PCDATA)>\n" \
 "<!ELEMENT next-volume-use-sequence2 EMPTY>\n" \
 "<!ELEMENT next-volume-use-lid2 EMPTY>\n" \
 "<!ELEMENT restriction (#PCDATA)>\n" \
 "<!ELEMENT start-time-offset (#PCDATA)>\n" \
 "\n" \
 "<!--======================================================================-->\n" \
 "\n" \
 "<!ELEMENT pvd (volume-id?,system-id?,application-id?,preparer-id?,publisher-id?)>\n" \
 "\n" \
 "<!ELEMENT volume-id (#PCDATA)>\n" \
 "<!ELEMENT system-id (#PCDATA)>\n" \
 "<!ELEMENT application-id (#PCDATA)>\n" \
 "<!ELEMENT preparer-id (#PCDATA)>\n" \
 "<!ELEMENT publisher-id (#PCDATA)>\n" \
 "\n" \
 "<!--======================================================================-->\n" \
 "\n" \
 "<!ELEMENT filesystem (folder*,file*)>\n" \
 "\n" \
 "<!ELEMENT folder (name,folder*,file*)>\n" \
 "\n" \
 "<!ELEMENT file (name)>\n" \
 "<!ATTLIST file \n" \
 "  src       %URI;          #REQUIRED\n" \
 "  format    (form1|mixed)  \"form1\"\n" \
 ">\n" \
 "<!ELEMENT name (#PCDATA)>\n" \
 "\n" \
 "<!--======================================================================-->\n" \
 "\n" \
 "<!ELEMENT segment-items (segment-item)+>\n" \
 "<!ELEMENT segment-item  (auto-pause)*>\n" \
 "<!ATTLIST segment-item \n" \
 "  %itemattrs;\n" \
 ">\n" \
 "\n" \
 "<!--======================================================================-->\n" \
 "\n" \
 "<!ELEMENT sequence-items (sequence-item)+>\n" \
 "\n" \
 "<!ELEMENT sequence-item (default-entry?,entry*,auto-pause*)>\n" \
 "<!ATTLIST sequence-item\n" \
 "  src       %URI;        #REQUIRED\n" \
 "  id        ID           #IMPLIED\n" \
 ">\n" \
 "\n" \
 "<!ELEMENT default-entry EMPTY>\n" \
 "<!ATTLIST default-entry\n" \
 "  id        ID           #REQUIRED\n" \
 ">\n" \
 "\n" \
 "<!ELEMENT entry (#PCDATA)>\n" \
 "<!ATTLIST entry\n" \
 "  id        ID           #IMPLIED\n" \
 ">\n" \
 "\n" \
 "<!ELEMENT auto-pause (#PCDATA)>\n" \
 "\n" \
 "<!--======================================================================-->\n" \
 "\n" \
 "<!ELEMENT pbc (selection|playlist|endlist)+>\n" \
 "\n" \
 "<!ENTITY % pbcattrs\n" \
 "\" id        ID           #REQUIRED\n" \
 "  rejected  (true|false) 'false'\"\n" \
 ">\n" \
 "\n" \
 "<!ENTITY % XY \"CDATA\">\n" \
 "\n" \
 "<!ENTITY % ofsattrs\n" \
 " \" ref       IDREF       #IMPLIED\n" \
 "   x1        %XY;        #IMPLIED\n" \
 "   y1        %XY;        #IMPLIED\n" \
 "   x2        %XY;        #IMPLIED\n" \
 "   y2        %XY;        #IMPLIED\"\n" \
 ">\n" \
 "\n" \
 "<!ELEMENT selection (bsn?,prev?,next?,return?,(multi-default|default)?,timeout?,wait?,loop?,play-item?,select*)>\n" \
 "<!ATTLIST selection\n" \
 "  %pbcattrs;\n" \
 ">\n" \
 "\n" \
 "<!ELEMENT playlist (prev?,next?,return?,playtime?,wait?,autowait?,play-item+)>\n" \
 "<!ATTLIST playlist\n" \
 "  %pbcattrs;\n" \
 ">\n" \
 "\n" \
 "<!ELEMENT endlist (next-volume?,play-item?)>\n" \
 "<!ATTLIST endlist\n" \
 "  %pbcattrs;\n" \
 ">\n" \
 "\n" \
 "<!ELEMENT wait (#PCDATA)>\n" \
 "<!ELEMENT autowait (#PCDATA)>\n" \
 "<!ELEMENT playtime (#PCDATA)>\n" \
 "<!ELEMENT loop (#PCDATA)>\n" \
 "\n" \
 "<!ELEMENT bsn (#PCDATA)>\n" \
 "<!ELEMENT prev EMPTY>\n" \
 "<!ELEMENT next EMPTY>\n" \
 "<!ELEMENT return EMPTY>\n" \
 "<!ELEMENT multi-default EMPTY>\n" \
 "<!ELEMENT default EMPTY>\n" \
 "<!ELEMENT timeout EMPTY>\n" \
 "<!ELEMENT play-item EMPTY>\n" \
 "<!ELEMENT select EMPTY>\n" \
 "\n" \
 "<!ELEMENT next-volume (#PCDATA)>\n" \
 "\n" \
 "<!ATTLIST multi-default\n" \
 "  numeric      (enabled|disabled)    'enabled'\n" \
 ">\n" \
 "\n" \
 "<!ATTLIST loop\n" \
 "  jump-timing  (immediate|delayed)   'immediate'\n" \
 ">\n" \
 "\n" \
 "<!ATTLIST prev \n" \
 "  %ofsattrs;\n" \
 ">\n" \
 "\n" \
 "<!ATTLIST next\n" \
 "  %ofsattrs;\n" \
 ">\n" \
 "\n" \
 "<!ATTLIST return \n" \
 "  %ofsattrs;\n" \
 ">\n" \
 "\n" \
 "<!ATTLIST default\n" \
 "  %ofsattrs;\n" \
 ">\n" \
 "\n" \
 "<!ATTLIST timeout\n" \
 "  ref       IDREF       #IMPLIED\n" \
 ">\n" \
 "\n" \
 "<!ATTLIST play-item\n" \
 "  ref       IDREF       #IMPLIED\n" \
 ">\n" \
 "\n" \
 "<!ATTLIST select\n" \
 "  %ofsattrs;\n" \
 ">\n" \
 "\n" \
;
