diff options
Diffstat (limited to 'source')
| -rw-r--r-- | source/02_data/tags.xsl | 34 | ||||
| -rw-r--r-- | source/03_meta/tags.xsl | 14 | 
2 files changed, 40 insertions, 8 deletions
| diff --git a/source/02_data/tags.xsl b/source/02_data/tags.xsl new file mode 100644 index 0000000..f5d1627 --- /dev/null +++ b/source/02_data/tags.xsl @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet +	version="1.0" +	xmlns:xsl="http://www.w3.org/1999/XSL/Transform" +	xmlns:xalan="http://xml.apache.org/xalan" +	xmlns:InputXSLT="function.inputxslt.application" +	exclude-result-prefixes="xalan InputXSLT" +> + +<xsl:output +	method="xml" +	omit-xml-declaration="no" +	encoding="UTF-8" +	indent="yes" +/> + +<xsl:include href="[utility/datasource.xsl]"/> + +<xsl:variable name="meta"> +	<datasource type="main"  mode="full" source="target/01_files/source.xml"  target="files"/> +	<target     mode="plain" value="tags.xml"/>  +</xsl:variable> + +<xsl:template match="files/tags/*"> +	<entry handle="{name()}"> +		<xsl:apply-templates /> +	</entry> +</xsl:template> + +<xsl:template match="tags/*/file[./extension = '.md']"> +	<article handle="{substring(./name, 12, string-length(./name))}"/> +</xsl:template> + +</xsl:stylesheet> diff --git a/source/03_meta/tags.xsl b/source/03_meta/tags.xsl index f51f91a..3e11c8b 100644 --- a/source/03_meta/tags.xsl +++ b/source/03_meta/tags.xsl @@ -17,7 +17,7 @@  <xsl:include href="[utility/datasource.xsl]"/>  <xsl:variable name="meta"> -	<datasource type="main"    mode="full" source="target/01_files/source.xml"  target="files"/> +	<datasource type="main"    mode="full" source="target/02_data/tags.xml"     target="tags"/>  	<datasource type="support" mode="full" source="target/02_data/articles.xml" target="articles"/>  	<target     mode="plain"   value="tags.xml"/>   </xsl:variable> @@ -28,18 +28,16 @@  	<xsl:copy-of select="$root/articles/entry[@handle = $handle]/*[self::title | self::date]"/>  </xsl:template> -<xsl:template match="files/tags/*"> -	<entry handle="{name()}"> +<xsl:template match="tags/entry"> +	<entry handle="{@handle}">  		<xsl:apply-templates />  	</entry>  </xsl:template> -<xsl:template match="tags/*/file[./extension = '.md']"> -	<xsl:variable name="handle" select="substring(./name, 12, string-length(./name))"/> - -	<article handle="{$handle}"> +<xsl:template match="tags/*/article"> +	<article handle="{@handle}">  		<xsl:call-template name="get_article_data"> -			<xsl:with-param name="handle" select="$handle"/> +			<xsl:with-param name="handle" select="@handle"/>  		</xsl:call-template>  	</article>  </xsl:template> | 
