aboutsummaryrefslogtreecommitdiffstats
path: root/fop/test/layoutengine/testcase2fo.xsl
diff options
context:
space:
mode:
authorGlenn Adams <gadams@apache.org>2016-03-06 06:14:41 +0000
committerGlenn Adams <gadams@apache.org>2016-03-06 06:14:41 +0000
commit57949ba0cfffa2dd5933a103c6ad867de9f1e7a0 (patch)
treecd1d8100a9135449635251820f39f272151005ac /fop/test/layoutengine/testcase2fo.xsl
parentc8cde713f54ca731f4a7f3bfaef8af9e8a1b9262 (diff)
downloadxmlgraphics-fop-57949ba0cfffa2dd5933a103c6ad867de9f1e7a0.tar.gz
xmlgraphics-fop-57949ba0cfffa2dd5933a103c6ad867de9f1e7a0.zip
Configure maven build.
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/branches/maven@1733788 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'fop/test/layoutengine/testcase2fo.xsl')
-rw-r--r--fop/test/layoutengine/testcase2fo.xsl62
1 files changed, 62 insertions, 0 deletions
diff --git a/fop/test/layoutengine/testcase2fo.xsl b/fop/test/layoutengine/testcase2fo.xsl
new file mode 100644
index 000000000..522f53fa7
--- /dev/null
+++ b/fop/test/layoutengine/testcase2fo.xsl
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!-- $Id$ -->
+<!-- This stylesheet extracts the FO part from the testcase so it can be passed to FOP for layout. -->
+<!--
+Variable substitution:
+
+For any attribute value that starts with a "##" the stylesheet looks for an element with the variable
+name under /testcase/variables, ex. "##img" looks for /testcase/variables/img and uses its element
+value as subsitution value.
+-->
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
+
+ <xsl:template match="testcase">
+ <xsl:apply-templates select="fo/*" mode="copy"/>
+ </xsl:template>
+
+ <xsl:template match="node()" mode="copy">
+ <xsl:copy>
+ <xsl:apply-templates select="@*|node()" mode="copy"/>
+ </xsl:copy>
+ </xsl:template>
+
+ <xsl:template match="@*" mode="copy">
+ <xsl:choose>
+ <xsl:when test="starts-with(., '##')">
+ <!-- variable substitution -->
+ <xsl:variable name="nodename" select="name()"/>
+ <xsl:variable name="varname" select="substring(., 3)"/>
+ <xsl:choose>
+ <xsl:when test="boolean(//variables/child::*[local-name() = $varname])">
+ <xsl:attribute name="{name(.)}">
+ <xsl:value-of select="//variables/child::*[local-name() = $varname]"/>
+ </xsl:attribute>
+ </xsl:when>
+ <xsl:otherwise>
+ <!-- if variable isn't defined, just copy -->
+ <xsl:copy-of select="." />
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:copy-of select="." />
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+</xsl:stylesheet>