From 00e7220d86517677f7e6b5bd2e8412da5ca8bb9f Mon Sep 17 00:00:00 2001
From: Lubomir Rintel <lkundrak@v3.sk>
Date: Thu, 26 Nov 2009 13:24:49 +0100
Subject: [PATCH] Support formatting with Xalan
---
common/build_common.xml | 107 ++++++++++++++++++++++++----------------------
1 files changed, 56 insertions(+), 51 deletions(-)
diff --git a/common/build_common.xml b/common/build_common.xml
index 905cf49..7575449 100644
--- a/common/build_common.xml
+++ b/common/build_common.xml
@@ -18,6 +18,7 @@
<property name="images" value="&common;/images"/>
<property name="crimson" value="/usr/share/java/xerces-j2.jar"/>
<property name="saxon" value="/usr/share/java/saxon.jar:${crimson}"/>
+<property name="xalan-j2" value="/usr/share/java/xalan-j2.jar:/usr/share/java/xalan-j2-serializer.jar"/>
<property name="encoding" value="iso-8859-1"/>
<property name="standardargs" value=""/>
@@ -31,8 +32,53 @@
</patternset>
</fileset>
+<!-- configure saxon xslt processor to use (default) -->
+<target name="use-saxon" unless="xalan">
+ <property name="standardargs" value="-param use.extensions 1"/>
+ <macrodef name="xslt-transform">
+ <attribute name="out" default=""/>
+ <attribute name="in"/>
+ <attribute name="xsl"/>
+ <attribute name="args" default=""/>
+ <sequential>
+ <property name="outarg." value=""/>
+ <condition property="outarg.@{out}" value="-o @{out}">
+ <not><equals arg1="@{out}" arg2=""/></not>
+ </condition>
+ <java classname="com.icl.saxon.StyleSheet" fork="yes" failonerror="yes">
+ <arg line="${standardargs} ${outarg.@{out}} @{in} @{xsl} @{args}"/>
+ <classpath>
+ <pathelement path="${saxon}"/>
+ </classpath>
+ </java>
+ </sequential>
+ </macrodef>
+</target>
+
+<!-- configure xalan-j2 xslt processor to use -->
+<target name="use-xalan" if="xalan">
+ <macrodef name="xslt-transform">
+ <attribute name="out" default="" />
+ <attribute name="in"/>
+ <attribute name="xsl"/>
+ <attribute name="args" default=""/>
+ <sequential>
+ <property name="outarg." value=""/>
+ <condition property="outarg.@{out}" value="-out @{out}">
+ <not><equals arg1="@{out}" arg2=""/></not>
+ </condition>
+ <java classname="org.apache.xalan.xslt.Process" fork="yes" failonerror="yes">
+ <arg line="${standardargs} -in @{in} ${outarg.@{out}} -xsl @{xsl} @{args} -param base.dir ${user.dir}/dist/html/"/>
+ <classpath>
+ <pathelement path="${xalan-j2}"/>
+ </classpath>
+ </java>
+ </sequential>
+ </macrodef>
+</target>
+
<!-- administrative targets -->
-<target name="init">
+<target name="init" depends="use-saxon,use-xalan">
<condition property="python" value="python">
<os family="unix"/>
</condition>
@@ -140,22 +186,11 @@
<param name="target" value="${html}"/>
</antcall>
- <java classname="com.icl.saxon.StyleSheet" fork="yes" failonerror="yes">
- <arg line="${standardargs} -o ${html}/index.html ${xml}/index.xml ${xsl}/index.xsl"/>
- <classpath>
- <pathelement path="${saxon}"/>
- </classpath>
- </java>
-
+ <xslt-transform out="${html}/index.html" in="${xml}/index.xml" xsl="${xsl}/index.xsl"/>
</target>
<target name="rss" depends="prepare">
- <java classname="com.icl.saxon.StyleSheet" fork="yes" failonerror="yes">
- <arg line="${standardargs} -o ${html}/history.xml ${xml}/${project}.xml ${xsl}/rss.xsl"/>
- <classpath>
- <pathelement path="${saxon}"/>
- </classpath>
- </java>
+ <xslt-transform out="${html}/history.xml" in="${xml}/${project}.xml" xsl="${xsl}/rss.xsl"/>
</target>
<target name="html" depends="prepare,validatebook">
@@ -168,13 +203,7 @@
<param name="ext" value="png"/>
</antcall>
- <java classname="com.icl.saxon.StyleSheet" fork="yes" failonerror="yes">
-<!-- <arg line="${standardargs} -ds ${xml}/${project}.xml ${xsl}/html.xsl"/>-->
- <arg line="${standardargs} ${xml}/${project}.xml ${xsl}/html.xsl"/>
- <classpath>
- <pathelement path="${saxon}"/>
- </classpath>
- </java>
+ <xslt-transform in="${xml}/${project}.xml" xsl="${xsl}/html.xsl"/>
<antcall target="postprocess">
<param name="target" value="${html}"/>
@@ -201,12 +230,7 @@
<param name="ext" value="png"/>
</antcall>
- <java classname="com.icl.saxon.StyleSheet" fork="yes" failonerror="yes">
- <arg line="${standardargs} -o ${htmlflat}/${project}${lang}.html ${xml}/${project}.xml ${xsl}/htmlsingle.xsl"/>
- <classpath>
- <pathelement path="${saxon}"/>
- </classpath>
- </java>
+ <xslt-transform out="${htmlflat}/${project}${lang}.html" in="${xml}/${project}.xml" xsl="${xsl}/htmlsingle.xsl"/>
<antcall target="postprocess">
<param name="target" value="${htmlflat}"/>
@@ -220,12 +244,7 @@
</target>
<target name="word" if="illegalmonopoly" depends="prepare,validatebook">
- <java classname="com.icl.saxon.StyleSheet" fork="yes" failonerror="yes">
- <arg line="${standardargs} -o ${word}/${project}.html ${xml}/${project}.xml ${xsl}/word2000.xsl"/>
- <classpath>
- <pathelement path="${saxon}"/>
- </classpath>
- </java>
+ <xslt-transform out="${word}/${project}.html" in="${xml}/${project}.xml" xsl="${xsl}/word2000.xsl"/>
<antcall target="postprocess">
<param name="target" value="${word}"/>
@@ -247,12 +266,7 @@
<param name="ext" value="png"/>
</antcall>
- <java classname="com.icl.saxon.StyleSheet" fork="yes" failonerror="yes">
- <arg line="${standardargs} -o ${pdf}/${project}.html ${xml}/${project}.xml ${xsl}/pdf.xsl"/>
- <classpath>
- <pathelement path="${saxon}"/>
- </classpath>
- </java>
+ <xslt-transform out="${pdf}/${project}.html" in="${xml}/${project}.xml" xsl="${xsl}/pdf.xsl"/>
<antcall target="postprocess">
<param name="target" value="${pdf}"/>
@@ -275,12 +289,7 @@
</target>
<target name="text" depends="prepare,validatebook">
- <java classname="com.icl.saxon.StyleSheet" fork="yes" failonerror="yes">
- <arg line="${standardargs} -o ${text}/${project}.html ${xml}/${project}.xml ${xsl}/text.xsl"/>
- <classpath>
- <pathelement path="${saxon}"/>
- </classpath>
- </java>
+ <xslt-transform out="${text}/${project}.html" in="${xml}/${project}.xml" xsl="${xsl}/text.xsl"/>
<antcall target="postprocess">
<param name="target" value="${text}"/>
@@ -305,12 +314,8 @@
</antcall>
- <java dir="${htmlhelp}" classname="com.icl.saxon.StyleSheet" fork="yes" failonerror="yes">
- <arg line="${standardargs} -o ${project}.html ${htmlhelppathtoroot}/${xml}/${project}.xml ${htmlhelppathtoroot}/${xsl}/htmlhelp.xsl htmlhelp.encoding=${encoding}"/>
- <classpath>
- <pathelement path="${saxon}"/>
- </classpath>
- </java>
+ <xslt-transform out="${project}.html" in="${htmlhelppathtoroot/${xml}/${project}.xml"
+ xsl="${htmlhelppathtoroot}/${xsl}/htmlhelp.xsl" args="htmlhelp.encoding=${encoding}"/>
<antcall target="colorize">
<param name="target" value="${htmlhelp}"/>
--
1.6.5.2