myplc-docs build from local dtds - more robust, and much faster too
authorThierry Parmentelat <thierry.parmentelat@sophia.inria.fr>
Wed, 14 May 2008 01:44:39 +0000 (01:44 +0000)
committerThierry Parmentelat <thierry.parmentelat@sophia.inria.fr>
Wed, 14 May 2008 01:44:39 +0000 (01:44 +0000)
doc/Makefile
doc/PLCAPI.xml.in [moved from doc/PLCAPI.xml with 99% similarity]

index f05fbfe..9cdec71 100644 (file)
@@ -9,6 +9,22 @@
 
 all: PLCAPI.html
 
+# XML - as opposed to SGML - requires an identifier - see 
+# http://www.docbook.org/tdg/en/html/appb.html
+# and, openjade opens http connections when using the official URL 
+# as an identifier; this is slow, and sometimes fails and breaks the build
+
+# locating locally installed docbook43 dtd - fedora-specific
+remote-docbook-43 = http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd
+local-docbook-43 = $(wildcard /usr/share/sgml/docbook/xml-dtd-4.3-*/docbookx.dtd)
+docbook-43=$(if $(local-docbook-43),$(local-docbook-43),$(remote-docbook-43))
+
+PLCAPI.xml: PLCAPI.xml.in
+       $(if $(local-docbook-43), \
+       echo Using locally installed DTD $(local-docbook-43), \
+       echo WARNING - could not locate local DTD - using remote $(remote-docbook-43))
+       sed -e s:@DOCBOOK-43@:$(docbook-43): $< > $@
+
 .PLCAPI.xml.valid: Methods.xml
 
 API_SOURCES = ../PLC/__init__.py ../PLC/Methods/__init__.py
similarity index 99%
rename from doc/PLCAPI.xml
rename to doc/PLCAPI.xml.in
index 6dd3326..ffc0057 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
-    "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+"@DOCBOOK-43@" [
 <!ENTITY Methods SYSTEM "Methods.xml">
 ]>