Anonymous avatar Anonymous committed 9a74e99

Add the clean-up-docbook-xhtml-1.1 XSLT.

Thanks to waloo on #xml .

Comments (0)

Files changed (2)

 
 $(DOCBOOK5_ALL_IN_ONE_XHTMLS): $(DOCBOOK5_ALL_IN_ONE_XHTML_DIR)/%/all-in-one.xhtml: $(DOCBOOK5_SOURCES_DIR)/%.xml
 	jing http://www.docbook.org/xml/5.0/rng/docbook.rng $<
-	xsltproc --stringparam root.filename $@ --path  $(DOCBOOK5_XSL_STYLESHEETS_XHTML_PATH) $(DOCBOOK5_XSL_ONECHUNK_XSLT_STYLESHEET) $<
-	mv -f $@.html $@
+	xsltproc --stringparam root.filename $@.temp.xml --path  $(DOCBOOK5_XSL_STYLESHEETS_XHTML_PATH) $(DOCBOOK5_XSL_ONECHUNK_XSLT_STYLESHEET) $<
+	xsltproc --output $@ ./bin/clean-up-docbook-xhtml-1.1.xslt $@.temp.xml.html
+	rm -f $@.temp.xml.html
 
 $(DOCBOOK5_RENDERED_DIR)/%.xhtml: $(DOCBOOK5_ALL_IN_ONE_XHTML_DIR)/%/all-in-one.xhtml
 	./bin/clean-up-docbook-5-xsl-xhtml-1_1.pl -o $@ $<

bin/clean-up-docbook-xhtml-1.1.xslt

+<xsl:stylesheet version = '1.0'
+    xmlns="http://www.w3.org/1999/xhtml"
+    xmlns:xhtml="http://www.w3.org/1999/xhtml"
+    xmlns:xsl='http://www.w3.org/1999/XSL/Transform'
+    >
+
+    <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"
+        doctype-public="-//W3C//DTD XHTML 1.1//EN"
+        doctype-system="http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"
+        />
+
+    <xsl:template match="node()|@*">
+        <xsl:copy>
+            <xsl:apply-templates select="node()|@*"/>
+        </xsl:copy>
+    </xsl:template>
+
+    <xsl:template match="node()[xhtml:a/@id]">
+        <xsl:copy>
+            <xsl:copy-of select="xhtml:a/@id"/>
+            <xsl:apply-templates select="node()|@*"/>
+        </xsl:copy>
+    </xsl:template>
+
+    <xsl:template match="xhtml:h3[@class='author']">
+        <xsl:element name="h2">
+            <xsl:copy-of select="xhtml:a/@id"/>
+            <xsl:apply-templates select="node()|@*"/>
+        </xsl:element>
+    </xsl:template>
+
+    <xsl:template match="xhtml:a/@id"/>
+
+</xsl:stylesheet>
+
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.