summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile.common23
-rw-r--r--packaging/strip-for-txt.xsl79
2 files changed, 95 insertions, 7 deletions
diff --git a/Makefile.common b/Makefile.common
index 0b77f2b..d1432fe 100644
--- a/Makefile.common
+++ b/Makefile.common
@@ -84,6 +84,9 @@ endif
ifeq "${XMLTOTXTPOSTOPT}" ""
XMLTOTXTPOSTOPT =-p '-no-numbering -no-references'
endif
+ifeq "${XMLLINTOPT}" ""
+XMLLINTOPT =--xinclude --postvalid --noent
+endif
#########################################################################
#########################################################################
@@ -98,6 +101,7 @@ XMLTO =xmlto
XSLTPROC=xsltproc
XMLFORMAT=xmlformat
XMLFOPTS=-f $(FDPDIR)/docs-common/bin/xmlformat-fdp.conf
+XMLLINT =xmllint
XML2PO =xml2po
PO2XML =po2xml
MSGMERGE=msgmerge
@@ -158,7 +162,7 @@ $(foreach L,${LANGUAGES},$(eval $(call XMLFILES_template,${L})))
TARGETS=all clean distclean fdp-info html html-nochunks pdf po showvars \
tarball rpm rpm-common noarch srpm package-prep package-post \
- src-tarball txt
+ src-tarball txt text
# FIXME: add the .PHONY attribute where the actual target is defined
@@ -286,11 +290,16 @@ pdf:: $(foreach LANG,${LANGUAGES},pdf-$(LANG))
define TXT_template
-.PHONY: txt-${1}
+.PHONY: txt-${1} text-${1}
-txt-$(1) ${DOCBASE}-$(1).txt:: ${XMLFILES-${1}} ${1}/fdp-info.xml
- ${XMLTO} ${XMLTOTXTPOSTOPT} txt $(1)/$(DOCBASE).xml
- mv $(DOCBASE).txt $(DOCBASE)-$(1).txt
+txt-$(1) text-$(1) ${DOCBASE}-$(1).txt:: ${XMLFILES-${1}} ${1}/fdp-info.xml
+ ${XMLLINT} ${XMLLINTOPT} $(1)/$(DOCBASE).xml > $(1)/$(DOCBASE).lint.xml
+ ${XSLTPROC} $(FDPDIR)/docs-common/packaging/strip-for-txt.xsl \
+ $(1)/$(DOCBASE).lint.xml > $(1)/$(DOCBASE).stripped.xml
+ rm $(1)/$(DOCBASE).lint.xml
+ ${XMLTO} ${XMLTOTXTPOSTOPT} txt $(1)/$(DOCBASE).stripped.xml
+ mv $(DOCBASE).stripped.txt $(DOCBASE)-$(1).txt
+ rm $(1)/$(DOCBASE).stripped.xml
distclean::
${RM} ${DOCBASE}-${1}.txt
@@ -298,9 +307,9 @@ endef
$(foreach L,${LANGUAGES},$(eval $(call TXT_template,${L})))
-.PHONY: txt
+.PHONY: txt text
-txt:: $(foreach LANG,${LANGUAGES},txt-$(LANG))
+txt text:: $(foreach LANG,${LANGUAGES},txt-$(LANG))
#
#########################################################################
diff --git a/packaging/strip-for-txt.xsl b/packaging/strip-for-txt.xsl
new file mode 100644
index 0000000..5691b76
--- /dev/null
+++ b/packaging/strip-for-txt.xsl
@@ -0,0 +1,79 @@
+<!-- Strip <revhistory> element from DocBook -->
+<!-- Note this XSLT upgrades your DocBook to the V4.4 DTD! -->
+<xsl:stylesheet version="1.0" xml:space="preserve" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+ <xsl:output encoding="UTF-8" indent="no" method="xml"
+ omit-xml-declaration="no" standalone="no" version="1.0"
+ doctype-public="-//OASIS//DTD DocBook XML V4.4//EN"
+ doctype-system="http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" />
+
+ <xsl:template match="/">
+ <xsl:apply-templates/>
+ </xsl:template>
+
+ <xsl:template match="/book">
+ <xsl:element name="book">
+ <xsl:for-each select="*">
+ <xsl:choose>
+ <xsl:when test="self::bookinfo">
+ <xsl:call-template name="bookinfo"/>
+ </xsl:when>
+ <xsl:when test="self::index">
+ <xsl:text/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:copy-of select="."/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:for-each>
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="/article">
+ <xsl:element name="article">
+ <xsl:for-each select="*">
+ <xsl:choose>
+ <xsl:when test="self::articleinfo">
+ <xsl:call-template name="articleinfo"/>
+ </xsl:when>
+ <xsl:when test="self::index">
+ <xsl:text/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:copy-of select="."/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:for-each>
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template name="bookinfo">
+ <xsl:element name="bookinfo">
+ <xsl:for-each select="*">
+ <xsl:choose>
+ <xsl:when test="self::revhistory">
+ <xsl:text/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:copy-of select="."/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:for-each>
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template name="articleinfo">
+ <xsl:element name="articleinfo">
+ <xsl:for-each select="*">
+ <xsl:choose>
+ <xsl:when test="self::revhistory">
+ <xsl:text/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:copy-of select="."/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:for-each>
+ </xsl:element>
+ </xsl:template>
+
+</xsl:stylesheet>