You are viewing a plain text version of this content. The canonical link for it is here.
Posted to svn@forrest.apache.org by cr...@apache.org on 2004/09/06 08:42:51 UTC
svn commit: rev 43410 - in forrest/trunk/src/core/context: . resources/stylesheets
Author: crossley
Date: Sun Sep 5 23:42:51 2004
New Revision: 43410
Added:
forrest/trunk/src/core/context/resources/stylesheets/extract-svg.xsl (contents, props changed)
Modified:
forrest/trunk/src/core/context/resources.xmap
forrest/trunk/src/core/context/resources/stylesheets/project2text.xsl
Log:
Better handling of the two cases of SVG generation and skinconf aggregation.
See FOR-229 for background discussion.
- src/core/context/resources/stylesheets/project2text.xsl
Replace to call to document() to get the configuration with a simple
reference to '//skinconf' since the skinconf.xml has been <map:aggregate>'d.
- src/core/context/resources.xmap
Replace the 'generate-resource' <map:resource> with two new <map:resources>:
'generate-aggregate-resource' and 'generate-transformed-resource' to reflect
the difference in using the skinconf.xml in a resource versus transforming
the skinconf.xml into a new resource.
Also replaced the 'pipe-svg2png-resource' <map:resource> with
'pipe-aggregated-svg2png-resource' and 'pipe-transformed-svg2png-resource'
to reflect the difference between the resources that use skinconf.xml and
those that transform it.
Changed the calls to resources that use .svg.xslt to use the
'pipe-transformed-svg2png-resource' and those that use the simple .svg
files to use the 'pipe-aggregated-svg2png-resource'.
- src/core/context/resources/stylesheets/extract-svg.xsl
This is used in the transformation of the aggregated SVG to extract ONLY
the SVG itself. Batik requires that the top element be <svg> and in the
aggregation, we have the <skinconf> and containing element after the
transformation.
Submitted by: Rick Tessner
Issue: FOR-229
Modified: forrest/trunk/src/core/context/resources.xmap
==============================================================================
--- forrest/trunk/src/core/context/resources.xmap (original)
+++ forrest/trunk/src/core/context/resources.xmap Sun Sep 5 23:42:51 2004
@@ -78,7 +78,7 @@
</map:call>
</map:when>
<map:when test="{project:skins-dir}{forrest:skin}/{path}/{name}.svg.xslt">
- <map:call resource="pipe-svg2png-resource">
+ <map:call resource="pipe-transformed-svg2png-resource">
<map:parameter name="path" value="{project:skins-dir}{forrest:skin}/{path}/{name}.svg.xslt" />
</map:call>
</map:when>
@@ -100,7 +100,7 @@
</map:call>
</map:when>
<map:when test="{forrest:context}/skins/{forrest:skin}/{path}/{name}.svg.xslt">
- <map:call resource="pipe-svg2png-resource">
+ <map:call resource="pipe-transformed-svg2png-resource">
<map:parameter name="path" value="{forrest:context}/skins/{forrest:skin}/{path}/{name}.svg.xslt" />
</map:call>
</map:when>
@@ -121,7 +121,7 @@
</map:call>
</map:when>
<map:when test="{forrest:context}/skins/common/{path}/{name}.svg.xslt">
- <map:call resource="pipe-svg2png-resource">
+ <map:call resource="pipe-transformed-svg2png-resource">
<map:parameter name="path" value="{forrest:context}/skins/common/{path}/{name}.svg.xslt" />
</map:call>
</map:when>
@@ -135,7 +135,7 @@
<map:resource name="read-svg2png-corner-resource">
<map:select type="exists">
<map:when test="{project:skins-dir}{forrest:skin}/{path}/{name}.svg.xslt">
- <map:call resource="pipe-svg2png-corner-resource">
+ <map:call resource="pipe-transformed-svg2png-corner-resource">
<map:parameter name="path" value="{project:skins-dir}{forrest:skin}/{path}/{name}.svg.xslt" />
<map:parameter name="orientation-tb" value="{orientation-tb}"/>
<map:parameter name="orientation-lr" value="{orientation-lr}"/>
@@ -146,7 +146,7 @@
</map:call>
</map:when>
<map:when test="{forrest:context}/skins/{forrest:skin}/{path}/{name}.svg.xslt">
- <map:call resource="pipe-svg2png-corner-resource">
+ <map:call resource="pipe-transformed-svg2png-corner-resource">
<map:parameter name="path" value="{forrest:context}/skins/{forrest:skin}/{path}/{name}.svg.xslt" />
<map:parameter name="orientation-tb" value="{orientation-tb}"/>
<map:parameter name="orientation-lr" value="{orientation-lr}"/>
@@ -171,14 +171,23 @@
</map:resource>
<map:resource name="pipe-text-resource">
- <map:call resource="generate-resource">
+ <map:call resource="generate-transformed-resource">
<map:parameter name="path" value="{path}" />
</map:call>
<map:serialize type="text" mime-type="{mime-type}"/>
</map:resource>
- <map:resource name="pipe-svg2png-resource">
- <map:call resource="generate-resource">
+ <map:resource name="pipe-aggregate-svg2png-resource">
+ <map:call resource="generate-aggregate-resource">
+ <map:parameter name="path" value="{path}" />
+ </map:call>
+ <map:call resource="transform-project2text"/>
+ <map:transform src="{forrest:stylesheets}/extract-svg.xsl"/>
+ <map:serialize type="svg2png" />
+ </map:resource>
+
+ <map:resource name="pipe-transformed-svg2png-resource">
+ <map:call resource="generate-transformed-resource">
<map:parameter name="path" value="{path}" />
</map:call>
<map:call resource="transform-project2text"/>
@@ -205,15 +214,20 @@
<map:serialize type="svg2png" />
</map:resource>
- <map:resource name="generate-resource">
+ <map:resource name="generate-aggregate-resource">
+ <map:aggregate element="resource">
+ <map:part src="cocoon://skinconf.xml" />
+ <map:part src="{path}"/>
+ </map:aggregate>
+ </map:resource>
+
+ <map:resource name="generate-transformed-resource">
<map:generate src="cocoon://skinconf.xml" />
<map:transform src="{path}"/>
</map:resource>
<map:resource name="transform-project2text">
- <map:transform src="{forrest:stylesheets}/project2text.xsl">
- <map:parameter name="config-file" value="{project:skinconf}"/>
- </map:transform>
+ <map:transform src="{forrest:stylesheets}/project2text.xsl"/>
</map:resource>
<map:resource name="read-linked-text">
@@ -278,7 +292,7 @@
</map:call>
</map:match>
- <!-- DS: handles images local to a contributor directory -->
+ <!-- handles images local to a contributor directory -->
<map:match pattern="**my-images/**.*">
<map:read src="{project:content.xdocs}{1}my-images/{2}.{3}" mime-type="image/{3}" />
</map:match>
@@ -286,17 +300,17 @@
<map:match pattern="images/**.png">
<map:select type="exists">
<map:when test="{project:content.xdocs}/images/{1}.svg">
- <map:call resource="pipe-svg2png-resource">
+ <map:call resource="pipe-aggregate-svg2png-resource">
<map:parameter name="path" value="{project:content.xdocs}/images/{1}.svg" />
</map:call>
</map:when>
<map:when test="{project:resources.images}/{1}.svg">
- <map:call resource="pipe-svg2png-resource">
+ <map:call resource="pipe-aggregate-svg2png-resource">
<map:parameter name="path" value="{project:resources.images}/{1}.svg" />
</map:call>
</map:when>
<map:when test="resources/images/{1}.svg">
- <map:call resource="pipe-svg2png-resource">
+ <map:call resource="pipe-aggregate-svg2png-resource">
<map:parameter name="path" value="resources/images/{1}.svg" />
</map:call>
</map:when>
@@ -363,7 +377,7 @@
<map:match pattern="**.png">
<map:select type="exists">
<map:when test="{project:content.xdocs}/{1}.svg">
- <map:call resource="pipe-svg2png-resource">
+ <map:call resource="pipe-aggregate-svg2png-resource">
<map:parameter name="path" value="{project:content.xdocs}/{1}.svg" />
</map:call>
</map:when>
Added: forrest/trunk/src/core/context/resources/stylesheets/extract-svg.xsl
==============================================================================
--- (empty file)
+++ forrest/trunk/src/core/context/resources/stylesheets/extract-svg.xsl Sun Sep 5 23:42:51 2004
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<!--
+ Copyright 2002-2004 The Apache Software Foundation
+
+ Licensed 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.
+-->
+
+<!--+
+ | Replace element for the value on the project descriptor
+ | xmlns:for has to be replaced for the final version
+ +-->
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:svg="http://www.w3.org/2000/svg" version="1.0">
+
+ <xsl:template match="/">
+ <xsl:apply-templates select="//svg:svg"/>
+ </xsl:template>
+
+ <xsl:template match="svg:svg">
+ <xsl:copy-of select="."/>
+ </xsl:template>
+
+ <xsl:template match="*"/>
+
+</xsl:stylesheet>
Modified: forrest/trunk/src/core/context/resources/stylesheets/project2text.xsl
==============================================================================
--- forrest/trunk/src/core/context/resources/stylesheets/project2text.xsl (original)
+++ forrest/trunk/src/core/context/resources/stylesheets/project2text.xsl Sun Sep 5 23:42:51 2004
@@ -24,8 +24,7 @@
<xsl:import href="copyover.xsl"/>
-<xsl:param name="config-file" />
- <xsl:variable name="config" select="document($config-file)/skinconfig"/>
+<xsl:variable name="config" select="//skinconfig"/>
<xsl:template match="for:project-name">
<xsl:value-of select="$config/project-name"/>