diff options
Revamped transformation layout to remove need for the "01_files" level
* "01_files" contained a single "source" transformation which listed the contents of the "00_content" level
** this was unnecessary as the base "list" transformation already lists the contents of all levels
* added new "expression" mode to datasource meta tag processing in the task processing transformation
** this expression modes allows for the evaluation of arbitrary XPath statements
*** e.g. a query to the results of "list.xsl"
* modified base transformation datasource structures to include the level and meta tree
* modified all existing content transformations to query the level-tree instead of the deprecated "source.xml"
** i.e. XPath statements
** the main change is that directories are available as "directory" nodes instead of nodes named by the directory name
* these changes where implemented to simplify the architecture and to increase flexibility
Diffstat (limited to 'source/02_meta/paginated_articles.xsl')
-rw-r--r-- | source/02_meta/paginated_articles.xsl | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/source/02_meta/paginated_articles.xsl b/source/02_meta/paginated_articles.xsl new file mode 100644 index 0000000..9fb38a9 --- /dev/null +++ b/source/02_meta/paginated_articles.xsl @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet + version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" +> + +<xsl:include href="[utility/datasource.xsl]"/> + +<xsl:variable name="meta"> + <datasource type="main" mode="full" source="01_data/articles.xml" target="articles"/> + <target mode="plain" value="paginated_articles.xml"/> +</xsl:variable> + +<xsl:variable name="total" select="floor(count(datasource/articles/entry) div 2)"/> + +<xsl:template match="articles/entry[position() mod 2 = 1]"> + <entry index="{floor(position() div 2)}" total="{$total}"> + <xsl:apply-templates mode="group" select=". | following-sibling::entry[not(position() > 1)]"/> + </entry> +</xsl:template> + +<xsl:template match="articles/entry" mode="group"> + <article handle="{@handle}"/> +</xsl:template> + +</xsl:stylesheet> |