My lazy header ...

AntDoc
Target antdoc.xsl.generate

antdoc.xsl.generate
  |
  +--init

Generates the AntDoc XSL files from AntDocXalan.xsl.

This target has been defined because the three XSL files used by AntDoc only differ by minor things. Those files are:
  • AntDocXalan.xsl: this is the XSL used as a template,
  • AntDoc1.1.xsl: this is the XSL used by Saxon V6,
  • AntDoc2.0.xsl: this is the XSL used by Saxon V7.
The two resulting files are output in the ${TEMPORARY_ROOT_DIRECTORY_PATH} directory.

Detail:
<target
	depends="init"
	description="Generates the AntDoc XSL files from AntDocXalan.xsl."
	name="antdoc.xsl.generate"
>
	<property
		location="${TEMPORARY_ROOT_DIRECTORY_PATH}"
		name="XSL_TEMPORARY_DIRECTORY_PATH"
	/>

	<mkdir dir="${XSL_TEMPORARY_DIRECTORY_PATH}"/>

	<copy
		file="${XML_SOURCE_DIRECTORY_PATH}/AntDocXalan.xsl"
		overwrite="yes"
		toFile="${XSL_TEMPORARY_DIRECTORY_PATH}/AntDoc1.1.xsl"
	/>

	<replace file="${XSL_TEMPORARY_DIRECTORY_PATH}/AntDoc1.1.xsl">
		<replacefilter
			token="xsl:stylesheet version="1.0""
			value="xsl:stylesheet version="1.1""
		/>

		<replacefilter
			token="redirect:write file"
			value="xsl:document href"
		/>

		<replacefilter
			token="redirect:write"
			value="xsl:document"
		/>

		<replacefilter
			token="xalan:nodeset($ant_task_location)/tasks/task[generate-id() = generate-id(key('task_key', @name))]"
			value="$ant_task_location/tasks/task[generate-id() = generate-id(key('task_key', @name))]"
		/>

		<replacefilter
			token="xalan:nodeset($targets)/Target"
			value="$targets/Target"
		/>

		<replacefilter
			token="xalan:nodeset($tokens)/Token"
			value="$tokens/Token"
		/>
	</replace>

	<copy
		file="${XML_SOURCE_DIRECTORY_PATH}/AntDocXalan.xsl"
		overwrite="yes"
		toFile="${XSL_TEMPORARY_DIRECTORY_PATH}/AntDoc2.0.xsl"
	/>

	<replace file="${XSL_TEMPORARY_DIRECTORY_PATH}/AntDoc2.0.xsl">
		<replacefilter
			token="xsl:stylesheet version="1.0""
			value="xsl:stylesheet version="2.0""
		/>

		<replacefilter
			token="redirect:write file"
			value="xsl:result-document href"
		/>

		<replacefilter
			token="redirect:write"
			value="xsl:result-document"
		/>

		<replacefilter
			token="xalan:nodeset($ant_task_location)/tasks/task[generate-id() = generate-id(key('task_key', @name))]"
			value="$ant_task_location/tasks/task[generate-id() = generate-id(key('task_key', @name))]"
		/>

		<replacefilter
			token="xalan:nodeset($targets)/Target"
			value="$targets/Target"
		/>

		<replacefilter
			token="xalan:nodeset($tokens)/Token"
			value="$tokens/Token"
		/>
	</replace>

	<delete file="Changes.zip"/>

	<zip zipfile="Changes.zip">
		<fileset dir=".">
			<include name="build.xml"/>
		</fileset>

		<fileset dir="${XML_SOURCE_DIRECTORY_PATH}">
			<include name="AntDocXalan.xsl"/>
		</fileset>
	</zip>
</target>

... is just like my footer!

Edouard Mercier 2003.12.08 20:31:08 - AntDoc V0.8h - XSL Transformer Factory: com.icl.saxon.TransformerFactoryImpl