diff options
author | Glenn Adams <gadams@apache.org> | 2016-03-06 06:14:41 +0000 |
---|---|---|
committer | Glenn Adams <gadams@apache.org> | 2016-03-06 06:14:41 +0000 |
commit | 57949ba0cfffa2dd5933a103c6ad867de9f1e7a0 (patch) | |
tree | cd1d8100a9135449635251820f39f272151005ac /fop/test/layoutengine/testcase2fo.xsl | |
parent | c8cde713f54ca731f4a7f3bfaef8af9e8a1b9262 (diff) | |
download | xmlgraphics-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.xsl | 62 |
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> |