changeset 75:2bf4cd2787c5

Added DTDs to make xmllint happy. Note that these DTDs don't try to be actually correct: possible element contents require cleanup. This is enough to pass all documents through xmllint though.
author Maxim Dounin <mdounin@mdounin.ru>
date Mon, 10 Oct 2011 14:47:09 +0000
parents e9948ec6286b
children 4a4caa566120
files GNUmakefile dtd/article.dtd dtd/content.dtd dtd/error.dtd dtd/i18n.dtd dtd/menu.dtd dtd/news.dtd dtd/versions.dtd xml/404.xml xml/versions.xml
diffstat 10 files changed, 152 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
--- a/GNUmakefile	Mon Oct 10 09:39:11 2011 +0000
+++ b/GNUmakefile	Mon Oct 10 14:47:09 2011 +0000
@@ -146,15 +146,11 @@
 
 .SECONDARY:
 
-$(OUT)/%_module.html:	xml/%_module.xml				\
+$(OUT)/%.html:	xml/%.xml						\
 		$(ARTICLE_DEPS)
 	$(call XMLLINT, $<)
 	$(call XSLT, xslt/article.xslt, $<, $@)
 
-$(OUT)/%.html:	xml/%.xml						\
-		$(ARTICLE_DEPS)
-	$(call XSLT, xslt/article.xslt, $<, $@)
-
 
 xslt/%.xslt:	xsls/%.xsls						\
 		xsls/dump.xsls
--- a/dtd/article.dtd	Mon Oct 10 09:39:11 2011 +0000
+++ b/dtd/article.dtd	Mon Oct 10 14:47:09 2011 +0000
@@ -1,7 +1,12 @@
-<!ELEMENT  digest       (title, article+) >
-
-<!ELEMENT  article      (para+) >
-<!ATTLIST  article      date CDATA #REQUIRED >
+<!ELEMENT  article      (section+) >
+<!ATTLIST  article
+           title        CDATA #REQUIRED
+           link         CDATA #REQUIRED
+           lang         CDATA #REQUIRED
+           author       CDATA #IMPLIED
+           editor       CDATA #IMPLIED
+           translator   CDATA #IMPLIED
+>
 
 <!ENTITY % content      SYSTEM  "content.dtd" >
           %content;
--- a/dtd/content.dtd	Mon Oct 10 09:39:11 2011 +0000
+++ b/dtd/content.dtd	Mon Oct 10 14:47:09 2011 +0000
@@ -1,3 +1,97 @@
+<!ELEMENT  section      (para | list | book | download | security | note |
+                         programlisting)* >
+<!ATTLIST  section
+           name         CDATA #IMPLIED
+           title        CDATA #IMPLIED
+>
+
+<!ELEMENT  para         (#PCDATA | a | br | list | orderedlist | note | i | b |
+                         nobr | table | url | code | dirname | path | header |
+                         programlisting | initial | development_version |
+                         stable_version )* >
+
+<!ELEMENT  a            (#PCDATA) >
+<!ATTLIST  a
+           href         CDATA #REQUIRED
+>
+
+<!ELEMENT  br           EMPTY >
+
+<!ELEMENT  i            (#PCDATA) >
+<!ELEMENT  b            (#PCDATA) >
+<!ELEMENT  dirname      (#PCDATA | i)* >
+<!ELEMENT  path         (#PCDATA | development_version | stable_version)* >
+<!ELEMENT  code         (#PCDATA | i)* >
+<!ELEMENT  header       (#PCDATA) >
+<!ELEMENT  initial      (#PCDATA) >
+<!ELEMENT  url          (#PCDATA) >
+
+<!ELEMENT  programlisting  (#PCDATA | i | b | dirname | path |
+                            development_version | stable_version)* >
+
+<!ELEMENT  nobr         (#PCDATA | i | b | dirname | path)* >
+
+<!ELEMENT  list         (item+) >
+<!ELEMENT  orderedlist  (item+) >
+<!ELEMENT  item         (#PCDATA | para | a | br | nobr | list | i | b | url |
+                         dirname | path)* >
+
+<!ELEMENT  note         (#PCDATA | para | a | br | nobr | list | i | b | url |
+                         dirname | path | programlisting | paypal)* >
+
+<!ELEMENT  table        (tr+) >
+<!ATTLIST  table
+           note         CDATA #IMPLIED
+>
+<!ELEMENT  tr           (td+) >
+<!ELEMENT  td           (#PCDATA | code | i)* >
+<!ATTLIST  td
+           width        CDATA #IMPLIED
+>
+
+<!ELEMENT  paypal       EMPTY >
+
+<!ELEMENT  development_version  EMPTY >
+<!ELEMENT  stable_version       EMPTY >
+
+<!ELEMENT  book         EMPTY >
+<!ATTLIST  book
+           title        CDATA #REQUIRED
+           link         CDATA #REQUIRED
+           author       CDATA #REQUIRED
+           site         CDATA #REQUIRED
+           publisher    CDATA #REQUIRED
+           lang         CDATA #REQUIRED
+           cover        CDATA #REQUIRED
+           translator   CDATA #IMPLIED
+>
+
+<!ELEMENT  download     (item+) >
+<!ATTLIST  download
+           last         CDATA #REQUIRED
+           changes      CDATA #REQUIRED
+>
+
+<!ATTLIST  item
+           ver          CDATA #IMPLIED
+           pgp          CDATA #IMPLIED
+           win          CDATA #IMPLIED
+>
+
+<!ELEMENT  security     (item+) >
+
+<!ATTLIST  item
+           title        CDATA #IMPLIED
+           severity     CDATA #IMPLIED
+           cve          CDATA #IMPLIED
+           good         CDATA #IMPLIED
+           vulnerable   CDATA #IMPLIED
+           patch        CDATA #IMPLIED
+           core         CDATA #IMPLIED
+           href         CDATA #IMPLIED
+           cert         CDATA #IMPLIED
+>
+
 <!ENTITY   nbsp         "&#160;">
 <!ENTITY   times        "&#215;">
 <!ENTITY   lsquo        "&#8216;">
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dtd/error.dtd	Mon Oct 10 14:47:09 2011 +0000
@@ -0,0 +1,6 @@
+<!ELEMENT  error        EMPTY >
+<!ATTLIST  error
+           title        CDATA #REQUIRED
+           link         CDATA #REQUIRED
+           lang         CDATA #REQUIRED
+>
--- a/dtd/i18n.dtd	Mon Oct 10 09:39:11 2011 +0000
+++ b/dtd/i18n.dtd	Mon Oct 10 14:47:09 2011 +0000
@@ -0,0 +1,11 @@
+<!ELEMENT  i18n         (text+) >
+
+<!ELEMENT  text         (item+) >
+<!ATTLIST  text
+           lang         CDATA #REQUIRED
+>
+
+<!ELEMENT  item         (#PCDATA) >
+<!ATTLIST  item
+           id           CDATA #REQUIRED
+>
--- a/dtd/menu.dtd	Mon Oct 10 09:39:11 2011 +0000
+++ b/dtd/menu.dtd	Mon Oct 10 14:47:09 2011 +0000
@@ -0,0 +1,13 @@
+<!ELEMENT  menus        (menu+) >
+
+<!ELEMENT  menu         (item+) >
+<!ATTLIST  menu
+           lang         CDATA #REQUIRED
+>
+
+<!ELEMENT  item         (#PCDATA) >
+<!ATTLIST  item
+           href         CDATA #IMPLIED
+           lang         CDATA #IMPLIED
+           year         CDATA #IMPLIED
+>
--- a/dtd/news.dtd	Mon Oct 10 09:39:11 2011 +0000
+++ b/dtd/news.dtd	Mon Oct 10 14:47:09 2011 +0000
@@ -1,7 +1,14 @@
-<!ELEMENT  digest       (title, news+) >
+<!ELEMENT  news         (event+) >
+<!ATTLIST  news
+           title        CDATA #REQUIRED
+           link         CDATA #REQUIRED
+           lang         CDATA #REQUIRED
+>
 
-<!ELEMENT  news         (para+) >
-<!ATTLIST  news         date CDATA #REQUIRED >
+<!ELEMENT  event        (para+) >
+<!ATTLIST  event
+           date         CDATA #REQUIRED
+>
 
 <!ENTITY % content      SYSTEM  "content.dtd" >
           %content;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dtd/versions.dtd	Mon Oct 10 14:47:09 2011 +0000
@@ -0,0 +1,5 @@
+<!ELEMENT  versions     (development | stable | legacy_stable)* >
+
+<!ELEMENT  development  (#PCDATA) >
+<!ELEMENT  stable       (#PCDATA) >
+<!ELEMENT  legacy_stable  (#PCDATA) >
--- a/xml/404.xml	Mon Oct 10 09:39:11 2011 +0000
+++ b/xml/404.xml	Mon Oct 10 14:47:09 2011 +0000
@@ -1,3 +1,3 @@
-<!DOCTYPE article SYSTEM "../dtd/article.dtd">
+<!DOCTYPE error SYSTEM "../dtd/error.dtd">
 
 <error title="404: not found" link="/404.html" lang="en" />
--- a/xml/versions.xml	Mon Oct 10 09:39:11 2011 +0000
+++ b/xml/versions.xml	Mon Oct 10 14:47:09 2011 +0000
@@ -1,3 +1,5 @@
+<!DOCTYPE versions SYSTEM "../dtd/versions.dtd">
+
 <versions>
 <development> 1.1.5 </development>
 <stable> 1.0.8 </stable>