changeset 1200:333eccb8a7f6

Moved dir.map postprocessing into template.
author Maxim Dounin <mdounin@mdounin.ru>
date Wed, 21 May 2014 21:37:27 +0400
parents 5ee8a00f2bc5
children db4b017b5796
files GNUmakefile xsls/dirmap.xsls
diffstat 2 files changed, 31 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/GNUmakefile	Tue May 20 14:41:05 2014 +0400
+++ b/GNUmakefile	Wed May 21 21:37:27 2014 +0400
@@ -288,9 +288,7 @@
 dir.map:	xslt/dirmap.xslt xml/en/docs/dirindex.xml		\
 		xml/en/docs/varindex.xml
 	@xsltproc -o - xslt/dirmap.xslt xml/en/docs/dirindex.xml	\
-	xml/en/docs/varindex.xml |					\
-	sed 's/^ *//;/^$$/d;s/^var_/$$/' |				\
-	sort -u -k1,1 | sed 's/^include /\\&/' > $@
+	xml/en/docs/varindex.xml > $@
 
 ifeq ($(patsubst %.nginx.org,YES,$(shell hostname)), YES)
 all:	dir.map
--- a/xsls/dirmap.xsls	Tue May 20 14:41:05 2014 +0400
+++ b/xsls/dirmap.xsls	Wed May 21 21:37:27 2014 +0400
@@ -6,6 +6,8 @@
 
 X:output method="text";
 
+X:strip-space elements="*";
+
 X:template = "link" {
     !{@id}
     X:text{ }
@@ -15,4 +17,32 @@
     X:text{;&#10;}
 }
 
+X:template = "link[@id = 'include']" {
+    X:text{\\}
+    !{@id}
+    X:text{ }
+    !{substring-before(@doc, '.xml')}
+    X:text{.html#}
+    !{@id}
+    X:text{;&#10;}
 }
+
+X:template = "link[starts-with(@id, 'var_')]" {
+    X:text{$}
+    !{substring-after(@id, 'var_')}
+    X:text{ }
+    !{substring-before(@doc, '.xml')}
+    X:text{.html#}
+    !{@id}
+    X:text{;&#10;}
+}
+
+X:template = "links | varlinks" {
+    X:for-each "link", X:sort "@id" {
+        X:if "count(preceding-sibling::link[@id = current()/@id]) = 0" {
+            !! ".";
+        }
+    }
+}
+
+}