changeset 55:8213f3f1c93d

Updated DTD for modules and made modules documentation to be validated with xmllint.
author Ruslan Ermilov <ru@nginx.com>
date Mon, 03 Oct 2011 12:07:55 +0000
parents 59969aeeeebc
children b706454b2ab8
files GNUmakefile dtd/module.dtd
diffstat 2 files changed, 92 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/GNUmakefile	Mon Oct 03 12:02:47 2011 +0000
+++ b/GNUmakefile	Mon Oct 03 12:07:55 2011 +0000
@@ -19,6 +19,9 @@
 	if [ ! -s $(2) ]; then rm $(2); fi; test -s $(2)
 endef
 
+define	XMLLINT
+	xmllint --noout --valid $1
+endef
 
 define	XSLT
 	xsltproc -o $3							\
@@ -145,6 +148,11 @@
 
 .SECONDARY:
 
+$(OUT)/%_module.html:	xml/%_module.xml				\
+		$(ARTICLE_DEPS)
+	$(call XMLLINT, $<)
+	$(call XSLT, xslt/article.xslt, $<, $@)
+
 $(OUT)/%.html:	xml/%.xml						\
 		$(ARTICLE_DEPS)
 	$(call XSLT, xslt/article.xslt, $<, $@)
--- a/dtd/module.dtd	Mon Oct 03 12:02:47 2011 +0000
+++ b/dtd/module.dtd	Mon Oct 03 12:07:55 2011 +0000
@@ -1,7 +1,86 @@
-<!ELEMENT  digest       (title, article+) >
+
+<!ELEMENT   module      (section+) >
+<!ATTLIST   module
+            name        CDATA #REQUIRED
+            link        CDATA #REQUIRED
+            lang        CDATA #REQUIRED
+>
+
+<!ELEMENT   section     (directive | para)+ >
+<!ATTLIST   section
+            name        CDATA #REQUIRED
+            id          ID #IMPLIED
+>
+
+<!ELEMENT   directive   (syntax+, default, context+, para+) >
+<!ATTLIST   directive
+            name        ID #REQUIRED
+            appeared-in CDATA #IMPLIED
+>
+
+<!ELEMENT   syntax      (#PCDATA | argument | code | parameter | value)* >
+
+<!ELEMENT   default     (#PCDATA | code)* >
+
+<!ELEMENT   context     (#PCDATA)* >
+
+<!ELEMENT   para        (#PCDATA | argument | c-def | c-func | code | command |
+                         dq | emphasis | example | header | http-status | link |
+                         list | note | parameter | pathname | value | var)* >
+
+<!ELEMENT   argument    (#PCDATA)* >
+
+<!ELEMENT   c-def       (#PCDATA)* >
+
+<!ELEMENT   c-func      (#PCDATA)* >
+
+<!ELEMENT   code        (#PCDATA | value)* >
+
+<!ELEMENT   command     (#PCDATA)* >
+
+<!ELEMENT   dq          ANY >
 
-<!ELEMENT  module       (para+) >
-<!ATTLIST  module       date CDATA #REQUIRED >
+<!ELEMENT   emphasis    (#PCDATA)* >
+
+<!ELEMENT   example     (#PCDATA)* >
+
+<!ELEMENT   header      (#PCDATA | argument)* >
+
+<!ELEMENT   http-status EMPTY >
+<!ATTLIST   http-status
+            code        CDATA #REQUIRED
+            text        CDATA #IMPLIED
+>
+
+<!ELEMENT   link        (#PCDATA)* >
+<!ATTLIST   link
+            doc         CDATA #IMPLIED
+            id          CDATA #IMPLIED
+            url         CDATA #IMPLIED
+>
 
-<!ENTITY % content      SYSTEM  "content.dtd" >
-          %content;
+<!ELEMENT   list        (listitem+ | (tag-name | tag-desc)+) >
+<!ATTLIST   list
+            type        (bullet | enum | tag) #REQUIRED
+>
+
+<!ELEMENT   listitem    ANY >
+<!ELEMENT   tag-name    ANY >
+<!ELEMENT   tag-desc    ANY >
+
+<!ELEMENT   note        ANY >
+
+<!ELEMENT   parameter   (#PCDATA)* >
+
+<!ELEMENT   pathname    (#PCDATA)* >
+
+<!ELEMENT   value       (#PCDATA)* >
+
+<!ELEMENT   var         (#PCDATA)* >
+
+<!ENTITY    nbsp        "&#xA0;" >
+<!ENTITY    mdash       "&nbsp;- " >
+<!ENTITY    lsquo       "&#8216;">
+<!ENTITY    rsquo       "&#8217;">
+<!ENTITY    ldquo       "&#8220;">
+<!ENTITY    rdquo       "&#8221;">