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 'process.xsl')
-rw-r--r-- | process.xsl | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/process.xsl b/process.xsl index 595d617..82f4188 100644 --- a/process.xsl +++ b/process.xsl @@ -98,6 +98,9 @@ concat($prefix, '/', @source) )/self::file/*/*"/> </xsl:when> + <xsl:when test="@mode = 'expression'"> + <xsl:copy-of select="dyn:evaluate(@source)"/> + </xsl:when> </xsl:choose> </xsl:element> </xsl:for-each> @@ -181,6 +184,20 @@ </xsl:call-template> </xsl:for-each> </xsl:when> + <xsl:when test="$main_source/@mode = 'expression'"> + <xsl:call-template name="compile"> + <xsl:with-param name="main"> + <xsl:element name="{$main_source/@target}"> + <xsl:copy-of select="dyn:evaluate($main_source/@source)"/> + </xsl:element> + </xsl:with-param> + <xsl:with-param name="support" select="$support_source"/> + <xsl:with-param name="transformation" select="$transformation"/> + <xsl:with-param name="datasource_prefix" select="$task/meta/datasource_prefix"/> + <xsl:with-param name="target_prefix" select="$task/target"/> + <xsl:with-param name="target" select="$meta/target"/> + </xsl:call-template> + </xsl:when> <xsl:otherwise> <xsl:call-template name="compile"> <xsl:with-param name="support" select="$support_source"/> |