giacomo 00/07/06 09:56:16
Modified: src/org/apache/cocoon/components/language/markup/sitemap/java
Tag: xml-cocoon2 sitemap.xsl
Log:
Revision Changes Path
No revision
No revision
1.1.2.3 +463 -432
xml-cocoon/src/org/apache/cocoon/components/language/markup/sitemap/java/Attic/sitemap.xsl
Index: sitemap.xsl
===================================================================
RCS file:
/home/cvs/xml-cocoon/src/org/apache/cocoon/components/language/markup/sitemap/java/Attic/sitemap.xsl,v
retrieving revision 1.1.2.2
retrieving revision 1.1.2.3
diff -u -r1.1.2.2 -r1.1.2.3
--- sitemap.xsl 2000/07/06 04:57:43 1.1.2.2
+++ sitemap.xsl 2000/07/06 16:56:16 1.1.2.3
@@ -1,448 +1,479 @@
-<?xml version="1.0"?>
-<!-- Sitemap Core logicsheet for the Java language -->
-
-<xsl:stylesheet version="1.0"
- xmlns:map="http://apache.org/cocoon/sitemap/1.0"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
->
-
- <xsl:output method="text"/>
-
- <xsl:variable name="prefix">map</xsl:variable>
-
- <xsl:template match="/">
- <code xml:space="preserve">
- <xsl:apply-templates/>
- </code>
- </xsl:template>
-
- <xsl:template match="map:sitemap">
- package <xsl:value-of select="translate(@file-path, '/', '.')"/>;
-
- import java.util.Map;
- import java.util.Stack;
- import java.util.Vector;
-
- import org.apache.arch.config.Configuration;
- import org.apache.arch.config.ConfigurationException;
- import org.apache.arch.config.SitemapConfigurationBuilder;
- import org.apache.cocoon.Parameters;
- import org.apache.cocoon.Request;
- import org.apache.cocoon.Response;
- import org.apache.cocoon.choosers.Chooser;
- import org.apache.cocoon.filters.Filter;
- import org.apache.cocoon.generators.Generator;
- import org.apache.cocoon.matchers.Matcher;
- import org.apache.cocoon.serializers.Serializer;
- import org.apache.cocoon.sitemap.AbstractSitemapProcessor;
- import org.apache.cocoon.sitemap.ResourcePipeline;
-
-/**
- *
- * @author <a href="mailto:[EMAIL PROTECTED]">Giacomo Pati</a>
- * @version CVS $Revision: 1.1.2.2 $ $Date: 2000/07/06 04:57:43 $
- */
-public class <xsl:value-of select="@file-name"/> extends
AbstractSitemapProcessor {
-
- SitemapConfigurationBuilder confBuilder = new
SitemapConfigurationBuilder ();
-
- <!-- generate variables for all components -->
- /** The generators */
- <xsl:call-template name="define-components">
- <xsl:with-param name="name-prefix">generator</xsl:with-param>
- <xsl:with-param name="interface">Generator</xsl:with-param>
- <xsl:with-param name="components"
select="/map:sitemap/map:components/map:generators/map:generator"/>
- </xsl:call-template>
-
- /** The filters */
- <xsl:call-template name="define-components">
- <xsl:with-param name="name-prefix">transformer</xsl:with-param>
- <xsl:with-param name="interface">Transformer</xsl:with-param>
- <xsl:with-param name="components"
select="/map:sitemap/map:components/map:transformerss/map:transformer"/>
- </xsl:call-template>
-
- /** The serializers */
- <xsl:call-template name="define-components">
- <xsl:with-param name="name-prefix">serializer</xsl:with-param>
- <xsl:with-param name="interface">Serializer</xsl:with-param>
- <xsl:with-param name="components"
select="/map:sitemap/map:components/map:serializers/map:serializer"/>
- </xsl:call-template>
-
- /** The matchers */
- <xsl:call-template name="define-components">
- <xsl:with-param name="name-prefix">matcher</xsl:with-param>
- <xsl:with-param name="interface">Matcher</xsl:with-param>
- <xsl:with-param name="components"
select="/map:sitemap/map:components/map:matchers/map:matcher"/>
- </xsl:call-template>
-
- /** The choosers */
- <xsl:call-template name="define-components">
- <xsl:with-param name="name-prefix">chooser</xsl:with-param>
- <xsl:with-param name="interface">Chooser</xsl:with-param>
- <xsl:with-param name="components"
select="/map:sitemap/map:components/map:choosers/map:chooser"/>
- </xsl:call-template>
-
- /**
- * Pass a <code>Configuration</code> instance to this
- * <code>Configurable</code> class.
- */
- public void setConfiguration(Configuration xconf) {
-// throws ConfigurationException {
-
- <!-- configure all components -->
- /* Configure generators */
- <xsl:call-template name="config-components">
- <xsl:with-param name="name">generator</xsl:with-param>
- <xsl:with-param name="interface">Generator</xsl:with-param>
- <xsl:with-param name="components"
- select="/map:sitemap/map:components/map:generators/map:generator"/>
- <xsl:with-param name="default"
- select="/map:sitemap/map:components/map:generators/@default"/>
- </xsl:call-template>
-
- /* Configure filters */
- <xsl:call-template name="config-components">
- <xsl:with-param name="name">transformer</xsl:with-param>
- <xsl:with-param name="interface">Transformer</xsl:with-param>
- <xsl:with-param name="components"
-
select="/map:sitemap/map:components/map:transformers/map:transformer"/>
- <xsl:with-param name="default"
- select="/map:sitemap/map:components/map:transformers/@default"/>
- </xsl:call-template>
-
- /* Configure serializers */
- <xsl:call-template name="config-components">
- <xsl:with-param name="name">serializer</xsl:with-param>
- <xsl:with-param name="interface">Serializer</xsl:with-param>
- <xsl:with-param name="components"
-
select="/map:sitemap/map:components/map:serializers/map:serializer"/>
- <xsl:with-param name="default"
- select="/map:sitemap/map:components/map:serializers/@default"/>
- </xsl:call-template>
-
- /* Configure matchers */
- <xsl:call-template name="config-components">
- <xsl:with-param name="name">matcher</xsl:with-param>
- <xsl:with-param name="interface">Matcher</xsl:with-param>
- <xsl:with-param name="components"
- select="/map:sitemap/map:components/map:matchers/map:matcher"/>
- <xsl:with-param name="default"
- select="/map:sitemap/map:components/map:matchers/@default"/>
- </xsl:call-template>
-
- /* Configure choosers */
- <xsl:call-template name="config-components">
- <xsl:with-param name="name">chooser</xsl:with-param>
- <xsl:with-param name="interface">Chooser</xsl:with-param>
- <xsl:with-param name="components"
- select="/map:sitemap/map:components/map:choosers/map:chooser"/>
- <xsl:with-param name="default"
- select="/map:sitemap/map:components/map:choosers/@default"/>
- </xsl:call-template>
- }
-
- /**
- * Process the given <code>Request</code> producing the output to the
- * specified <code>Response</code> and <code>OutputStream</code>.
- */
- public boolean process(Request req, Response res, OutputStream out)
- throws SAXException, IOException, ProcessingException {
- ResourcePipeline pipeline = constructPipeline (req, res);
- return pipeline.startPipeline(req, res, out);
- }
-
-
protected ResourcePipeline constructPipeline (Request request, Response
resposne) {
- ResourcePipeline pipeline = new ResourcePipeline ();
- Stack resultStack = new Stack();
- Map map = null;
- Parameters emptyParam = new Parameters();
- Parameters param = null;
- <xsl:apply-templates
select="/map:sitemap/map:pipelines/map:pipeline/map:match"/>
- return pipeline;
- }
-}
-
- </xsl:template> <!-- match="map:sitemap" -->
+<?xml version="1.0"?>
+<!-- Sitemap Core logicsheet for the Java language -->
- <xsl:template match="map:match">
- <xsl:if test="not(ancestor::*[local-name()='pipeline'])">
- <xsl:call-template name="error">
- <xsl:with-param name="message"><match can only appear in a
<pipeline></xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- <xsl:variable name="matcher-type">
- <xsl:call-template name="get-parameter">
- <xsl:with-param name="parname">type</xsl:with-param>
- <xsl:with-param name="default"><xsl:value-of
select="/map:sitemap/map:components/map:matchers/@default"/></xsl:with-param>
- </xsl:call-template>
- </xsl:variable>
- <xsl:variable name="pattern-value">
- <xsl:call-template name="get-parameter">
- <xsl:with-param name="parname">pattern</xsl:with-param>
- <xsl:with-param name="required">true</xsl:with-param>
- </xsl:call-template>
- </xsl:variable>
- if ((map = matcher_<xsl:value-of select="translate($matcher-type, '- ',
'__')"/>.match ("<xsl:value-of select="$pattern-value"/>", request)) != null) {
- resultStack.push (map);
- <xsl:apply-templates/>
- <xsl:if test="not(descendant::map:match or descendant::map:choose)">
- return pipeline;
- </xsl:if>
+<xsl:stylesheet version="1.0"
+ xmlns:map="http://apache.org/cocoon/sitemap/1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+>
+
+ <xsl:output method="text"/>
+
+ <xsl:variable name="prefix">map</xsl:variable>
+
+ <xsl:template match="/">
+ <code xml:space="preserve">
+ <xsl:apply-templates/>
+ </code>
+ </xsl:template>
+
+ <xsl:template match="map:sitemap">
+ package <xsl:value-of select="translate(@file-path, '/', '.')"/>;
+
+ import java.util.Map;
+ import java.util.Stack;
+ import java.util.Vector;
+
+ import org.apache.arch.config.Configuration;
+ import org.apache.arch.config.ConfigurationException;
+ import org.apache.arch.config.SitemapConfigurationBuilder;
+ import org.apache.cocoon.Parameters;
+ import org.apache.cocoon.Request;
+ import org.apache.cocoon.Response;
+ import org.apache.cocoon.choosers.Chooser;
+ import org.apache.cocoon.filters.Filter;
+ import org.apache.cocoon.generators.Generator;
+ import org.apache.cocoon.matchers.Matcher;
+ import org.apache.cocoon.serializers.Serializer;
+ import org.apache.cocoon.sitemap.AbstractSitemapProcessor;
+ import org.apache.cocoon.sitemap.ResourcePipeline;
+
+/**
+ *
+ * @author <a href="mailto:[EMAIL PROTECTED]">Giacomo Pati</a>
+ * @version CVS $Revision: 1.1.2.3 $ $Date: 2000/07/06 16:56:16 $
+ */
+public class <xsl:value-of select="@file-name"/> extends
AbstractSitemapProcessor {
+
+ SitemapConfigurationBuilder confBuilder = new
SitemapConfigurationBuilder ();
+ Parameters emptyParam = new Parameters();
+
+ <!-- generate variables for all components -->
+ /** The generators */
+ <xsl:call-template name="define-components">
+ <xsl:with-param name="name-prefix">generator</xsl:with-param>
+ <xsl:with-param name="interface">Generator</xsl:with-param>
+ <xsl:with-param name="components"
select="/map:sitemap/map:components/map:generators/map:generator"/>
+ </xsl:call-template>
+
+ /** The transformers */
+ <xsl:call-template name="define-components">
+ <xsl:with-param name="name-prefix">transformer</xsl:with-param>
+ <xsl:with-param name="interface">Transformer</xsl:with-param>
+ <xsl:with-param name="components"
select="/map:sitemap/map:components/map:transformers/map:transformer"/>
+ </xsl:call-template>
+
+ /** The serializers */
+ <xsl:call-template name="define-components">
+ <xsl:with-param name="name-prefix">serializer</xsl:with-param>
+ <xsl:with-param name="interface">Serializer</xsl:with-param>
+ <xsl:with-param name="components"
select="/map:sitemap/map:components/map:serializers/map:serializer"/>
+ </xsl:call-template>
+
+ /** The matchers */
+ <xsl:call-template name="define-components">
+ <xsl:with-param name="name-prefix">matcher</xsl:with-param>
+ <xsl:with-param name="interface">Matcher</xsl:with-param>
+ <xsl:with-param name="components"
select="/map:sitemap/map:components/map:matchers/map:matcher"/>
+ </xsl:call-template>
+
+ /** The choosers */
+ <xsl:call-template name="define-components">
+ <xsl:with-param name="name-prefix">chooser</xsl:with-param>
+ <xsl:with-param name="interface">Chooser</xsl:with-param>
+ <xsl:with-param name="components"
select="/map:sitemap/map:components/map:choosers/map:chooser"/>
+ </xsl:call-template>
+
+ /**
+ * Pass a <code>Configuration</code> instance to this
+ * <code>Configurable</code> class.
+ */
+ public void setConfiguration(Configuration xconf) {
+// throws ConfigurationException {
+
+ <!-- configure all components -->
+ /* Configure generators */
+ <xsl:call-template name="config-components">
+ <xsl:with-param name="name">generator</xsl:with-param>
+ <xsl:with-param name="interface">Generator</xsl:with-param>
+ <xsl:with-param name="components"
+ select="/map:sitemap/map:components/map:generators/map:generator"/>
+ <xsl:with-param name="default"
+ select="/map:sitemap/map:components/map:generators/@default"/>
+ </xsl:call-template>
+
+ /* Configure filters */
+ <xsl:call-template name="config-components">
+ <xsl:with-param name="name">transformer</xsl:with-param>
+ <xsl:with-param name="interface">Transformer</xsl:with-param>
+ <xsl:with-param name="components"
+
select="/map:sitemap/map:components/map:transformers/map:transformer"/>
+ <xsl:with-param name="default"
+ select="/map:sitemap/map:components/map:transformers/@default"/>
+ </xsl:call-template>
+
+ /* Configure serializers */
+ <xsl:call-template name="config-components">
+ <xsl:with-param name="name">serializer</xsl:with-param>
+ <xsl:with-param name="interface">Serializer</xsl:with-param>
+ <xsl:with-param name="components"
+
select="/map:sitemap/map:components/map:serializers/map:serializer"/>
+ <xsl:with-param name="default"
+ select="/map:sitemap/map:components/map:serializers/@default"/>
+ </xsl:call-template>
+
+ /* Configure matchers */
+ <xsl:call-template name="config-components">
+ <xsl:with-param name="name">matcher</xsl:with-param>
+ <xsl:with-param name="interface">Matcher</xsl:with-param>
+ <xsl:with-param name="components"
+ select="/map:sitemap/map:components/map:matchers/map:matcher"/>
+ <xsl:with-param name="default"
+ select="/map:sitemap/map:components/map:matchers/@default"/>
+ </xsl:call-template>
+
+ /* Configure choosers */
+ <xsl:call-template name="config-components">
+ <xsl:with-param name="name">chooser</xsl:with-param>
+ <xsl:with-param name="interface">Chooser</xsl:with-param>
+ <xsl:with-param name="components"
+ select="/map:sitemap/map:components/map:choosers/map:chooser"/>
+ <xsl:with-param name="default"
+ select="/map:sitemap/map:components/map:choosers/@default"/>
+ </xsl:call-template>
+ }
+
+ /**
+ * Process the given <code>Request</code> producing the output to the
+ * specified <code>Response</code> and <code>OutputStream</code>.
+ */
+ public boolean process(Request req, Response res, OutputStream out)
+ throws SAXException, IOException, ProcessingException {
+ ResourcePipeline pipeline = new ResourcePipeline ();
+ Stack mapStack = new Stack();
+ Map map = null;
+ Parameters param = null;
+ <xsl:for-each select="/map:sitemap/map:pipelines/map:pipeline">
+ try {
+ <xsl:apply-templates select="./*"/>
+ } catch (Exception e) {
+ <xsl:choose>
+ <xsl:when test="not (./map:handle-errors)">
+ throw e;
+ </xsl:when>
+ <xsl:otherwise>
+ pipeline.setGenerator (generator_error_hanler, e.getMessage(),
emptyParam);
+ <xsl:apply-templates select="./map:handle-error/*"/>
+ return pipeline.startPipeline (request, response, out);
+ </xsl:otherwise>
+ </xsl:choose>
+ }
+ </xsl:for-each>
}
- </xsl:template> <!-- match="map:match" -->
- <xsl:template match="map:choose">
- <xsl:variable name="chooser-type">
- <xsl:call-template name="get-parameter">
- <xsl:with-param name="parname">type</xsl:with-param>
- <xsl:with-param name="default"><xsl:value-of
select="/map:sitemap/map:components/map:choosers/@default"/></xsl:with-param>
- </xsl:call-template>
- </xsl:variable>
- <xsl:for-each select="./map:when">
- <xsl:variable name="test-value">
- <xsl:call-template name="get-parameter">
- <xsl:with-param name="parname">test</xsl:with-param>
- <xsl:with-param name="required">true</xsl:with-param>
- </xsl:call-template>
- </xsl:variable>
- if (chooser_<xsl:value-of select="translate($chooser-type, '- ',
'__')"/>.choose ("<xsl:value-of select="$test-value"/>", request)) {
- <xsl:apply-templates/>
- <xsl:if test="not(descendant::map:match or descendant::map:choose)">
- return pipeline;
- </xsl:if>
- }
- </xsl:for-each>
-
- <xsl:for-each select="./map:otherwise">
- else {
- <xsl:apply-templates/>
- <xsl:if test="not(descendant::map:match or descendant::map:choose)">
- return pipeline;
- </xsl:if>
- }
- </xsl:for-each>
- </xsl:template> <!-- match="/map:sitemap/map:choose" -->
-
- <xsl:template match="map:generate">
- <xsl:call-template name="setup-component">
- <xsl:with-param name="default-component"
select="/map:sitemap/map:components/map:generators/@default"/>
- <xsl:with-param name="method">setGenerator</xsl:with-param>
- <xsl:with-param name="prefix">generator</xsl:with-param>
- </xsl:call-template>
- </xsl:template> <!-- match="map:generate" -->
-
- <xsl:template match="map:filter[ancestor::*!='map:components']">
- <xsl:call-template name="setup-component">
- <xsl:with-param name="default-component"
select="/map:sitemap/map:components/map:filters/@default"/>
- <xsl:with-param name="method">addFilter</xsl:with-param>
- <xsl:with-param name="prefix">filter</xsl:with-param>
- </xsl:call-template>
- </xsl:template> <!-- match="map:filter" -->
-
- <xsl:template match="map:serialize">
- <xsl:call-template name="setup-component">
- <xsl:with-param name="default-component"
select="/map:sitemap/map:components/map:serializers/@default"/>
- <xsl:with-param name="method">setSerializer</xsl:with-param>
- <xsl:with-param name="prefix">serializer</xsl:with-param>
- </xsl:call-template>
- </xsl:template> <!-- match="map:serialize" -->
+<!--
+ <xsl:call-template name="build-resources"
select="/map:sitemap/map:resources/map:resource"/>
+ <xsl:call-template name="build-views"
select="/map:sitemap/map:views/map:view"/>
+ <xsl:call-template name="build-handle-trace"
select="/map:sitemap/map:pipelines/map:pipeline/map:handle-trace"/>
+ <xsl:call-template name="build-mount"
select="/map:sitemap/map:pipelines/map:pipeline//map:mount"/>
+-->
+}
+
+ </xsl:template> <!-- match="map:sitemap" -->
+
+ <xsl:template match="map:match">
+ <xsl:variable name="matcher-type">
+ <xsl:call-template name="get-parameter">
+ <xsl:with-param name="parname">type</xsl:with-param>
+ <xsl:with-param name="default"><xsl:value-of
select="/map:sitemap/map:components/map:matchers/@default"/></xsl:with-param>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:variable name="pattern-value">
+ <xsl:call-template name="get-parameter">
+ <xsl:with-param name="parname">pattern</xsl:with-param>
+ <xsl:with-param name="required">true</xsl:with-param>
+ </xsl:call-template>
+ </xsl:variable>
+ if ((map = matcher_<xsl:value-of select="translate($matcher-type, '- ',
'__')"/>.match ("<xsl:value-of select="$pattern-value"/>", request)) != null) {
+ mapStack.push (map);
+ <xsl:apply-templates/>
+ }
+ </xsl:template> <!-- match="map:match" -->
+
+ <xsl:template match="map:choose">
+ <xsl:variable name="chooser-type">
+ <xsl:call-template name="get-parameter">
+ <xsl:with-param name="parname">type</xsl:with-param>
+ <xsl:with-param name="default"><xsl:value-of
select="/map:sitemap/map:components/map:choosers/@default"/></xsl:with-param>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:for-each select="./map:when">
+ <xsl:variable name="test-value">
+ <xsl:call-template name="get-parameter">
+ <xsl:with-param name="parname">test</xsl:with-param>
+ <xsl:with-param name="required">true</xsl:with-param>
+ </xsl:call-template>
+ </xsl:variable>
+ if (chooser_<xsl:value-of select="translate($chooser-type, '- ',
'__')"/>.choose ("<xsl:value-of select="$test-value"/>", request)) {
+ <xsl:apply-templates/>
+ }
+ </xsl:for-each>
+
+ <xsl:for-each select="./map:otherwise">
+ else {
+ <xsl:apply-templates/>
+ }
+ </xsl:for-each>
+ </xsl:template> <!-- match="/map:sitemap/map:choose" -->
+
+ <xsl:template match="map:generate">
+ <xsl:call-template name="setup-component">
+ <xsl:with-param name="default-component"
select="/map:sitemap/map:components/map:generators/@default"/>
+ <xsl:with-param name="method">setGenerator</xsl:with-param>
+ <xsl:with-param name="prefix">generator</xsl:with-param>
+ </xsl:call-template>
+ </xsl:template> <!-- match="map:generate" -->
+
+ <xsl:template match="map:transform">
+ <xsl:call-template name="setup-component">
+ <xsl:with-param name="default-component"
select="/map:sitemap/map:components/map:transformers/@default"/>
+ <xsl:with-param name="method">addTransformer</xsl:with-param>
+ <xsl:with-param name="prefix">transformer</xsl:with-param>
+ </xsl:call-template>
+ </xsl:template> <!-- match="map:transormer" -->
+
+ <xsl:template match="map:serialize">
+ <xsl:call-template name="setup-component">
+ <xsl:with-param name="default-component"
select="/map:sitemap/map:components/map:serializers/@default"/>
+ <xsl:with-param name="method">setSerializer</xsl:with-param>
+ <xsl:with-param name="prefix">serializer</xsl:with-param>
+ </xsl:call-template>
+ return pipeline.startPipeline (request, response, out);
+ </xsl:template> <!-- match="map:serialize" -->
<xsl:template match="map:mount">
+ return mount_X(request, response, out);
</xsl:template> <!-- match="map:mount" -->
-
- <xsl:template match="map:param">
- param.setParameter ("<xsl:value-of select="@name"/>", "<xsl:value-of
select="@map:value"/>");
- </xsl:template> <!-- match="map:param" -->
-
- <!-- Sitemap Utility templates -->
-
- <xsl:template name="define-components">
- <xsl:param name="name-prefix"/>
- <xsl:param name="interface"/>
- <xsl:param name="components"/>
- <xsl:for-each select="$components">
- private <xsl:value-of select="$interface"/><xsl:text>
- </xsl:text><xsl:value-of select="$name-prefix"/>_<xsl:value-of
select="translate(./@type, '- ', '__')"/> = null;
- </xsl:for-each>
- private <xsl:value-of select="$interface"/><xsl:text>
</xsl:text><xsl:value-of select="$name-prefix"/>_default = null;
- </xsl:template>
- <xsl:template name="config-components">
- <xsl:param name="name"/>
- <xsl:param name="interface"/>
- <xsl:param name="components"/>
- <xsl:param name="default"/>
-
- <xsl:variable name="qname">
- <xsl:value-of select="concat($prefix, ':value')"/>
- </xsl:variable>
-
- <xsl:for-each select="$components">
- <xsl:variable name="confname">
- conf_<xsl:value-of select="$name"/>_<xsl:value-of select="@type"/>
- </xsl:variable>
- <xsl:call-template name="nested-config-components">
- <xsl:with-param name="name" select="$name"/>
- <xsl:with-param name="config-name"><xsl:value-of
select="concat(local-name(.),'/',@type)"/></xsl:with-param>
- <xsl:with-param name="interface" select="$interface"/>
- <xsl:with-param name="components" select="*"/>
- <xsl:with-param name="type" select="@type"/>
- </xsl:call-template>
- <xsl:value-of select="$name"/>_<xsl:value-of select="translate(@type,
'- ', '__')"/> =
- (<xsl:value-of select="$interface"/>)load_component ("<xsl:value-of
select="@src"/>", <xsl:value-of select="$confname"/>);
- </xsl:for-each>
- <xsl:value-of select="$name"/>_default = <xsl:value-of
select="translate($name, '- ', '__')"/>_<xsl:value-of
select="translate($default, '- ', '__')"/>;
- </xsl:template>
-
- <xsl:template name="nested-config-components">
- <xsl:param name="name"/>
- <xsl:param name="config-name"/>
- <xsl:param name="interface"/>
- <xsl:param name="components"/>
- <xsl:param name="type"/>
- <xsl:param name="subname"/>
-
- <xsl:variable name="qname">
- <xsl:value-of select="concat($prefix, ':value')"/>
- </xsl:variable>
-
- <xsl:variable name="confname">
- conf_<xsl:value-of select="$name"/>_<xsl:value-of
select="$type"/><xsl:value-of select="$subname"/>
- </xsl:variable>
-
- Configuration <xsl:value-of select="$confname"/> =
confBuilder.newConfiguration ("<xsl:value-of select="$config-name"/>");
-
- <!-- process content with map:value -->
- <xsl:for-each select="$components">
- <xsl:choose>
- <xsl:when test="name(@*)=$qname">
- confBuilder.addAttribute ("<xsl:value-of select="name(.)"/>",
"<xsl:value-of select="@*[name(.)=$qname]"/>", <xsl:value-of
select="$confname"/>);
- </xsl:when>
- <xsl:when test="count(./*)=0">
- confBuilder.addAttribute ("<xsl:value-of select="name(.)"/>",
"<xsl:value-of select="."/>", <xsl:value-of select="$confname"/>);
- </xsl:when>
- <xsl:when test="count(./*)>0">
- <xsl:variable name="newsubname">
- <xsl:choose>
- <xsl:when test="not($subname)">1</xsl:when>
- <xsl:otherwise><xsl:value-of
select="number($subname)+1"/></xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:call-template name="nested-config-components">
- <xsl:with-param name="name"><xsl:value-of
select="$name"/></xsl:with-param>
- <xsl:with-param name="config-name"><xsl:value-of
select="local-name(.)"/></xsl:with-param>
- <xsl:with-param name="interface"><xsl:value-of
select="$interface"/></xsl:with-param>
- <xsl:with-param name="components" select="./*"/>
- <xsl:with-param name="type"><xsl:value-of
select="$type"/></xsl:with-param>
- <xsl:with-param name="subname">_<xsl:value-of
select="$newsubname"/></xsl:with-param>
- </xsl:call-template>
- <xsl:variable name="newconfname">
- conf_<xsl:value-of select="$name"/>_<xsl:value-of
select="$type"/><xsl:value-of select="$newsubname"/>
- </xsl:variable>
- confBuilder.addConfiguration (<xsl:value-of
select="$newconfname"/>, <xsl:value-of select="$confname"/>);
- </xsl:when>
- <xsl:otherwise>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:for-each>
- </xsl:template>
-
- <xsl:template name="setup-component">
- <xsl:param name="default-component"/>
- <xsl:param name="method"/>
- <xsl:param name="prefix"/>
- <xsl:variable name="component-type">
- <xsl:call-template name="get-parameter">
- <xsl:with-param name="parname">type</xsl:with-param>
- <xsl:with-param name="default"><xsl:value-of
select="$default-component"/></xsl:with-param>
- </xsl:call-template>
- </xsl:variable>
- <xsl:variable name="component-source">
- <xsl:call-template name="get-parameter">
- <xsl:with-param name="parname">src</xsl:with-param>
- <xsl:with-param name="default">null</xsl:with-param>
- </xsl:call-template>
- </xsl:variable>
- <xsl:if test="descendant::map:param">
- param = new Parameters ();
- </xsl:if>
- <xsl:variable name="component-param">
- <xsl:choose>
- <xsl:when test="descendant::map:param">
- param
- </xsl:when>
- <xsl:otherwise>
- emptyParam
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:apply-templates select="./map:param"/>
- <xsl:choose>
- <xsl:when test="$component-source='null'">
- pipeline.<xsl:value-of select="$method"/> (<xsl:value-of
select="$prefix"/>_<xsl:value-of select="$component-type"/>,
- null, <xsl:value-of select="$component-param"/>);
- </xsl:when>
- <xsl:otherwise>
- pipeline.<xsl:value-of select="$method"/> (<xsl:value-of
select="$prefix"/>_<xsl:value-of select="$component-type"/>,
- "<xsl:value-of select="$component-source"/>",
<xsl:value-of select="$component-param"/>);
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
+ <xsl:template match="map:read">
+ return read (request, response, out,
+ "<xsl:value-of select="@src"/>"<xsl:if test="(@mime-type)">,
"<xsl:value-of select="@mime-type"/>"</xsl:if>);
+ </xsl:template> <!-- match="map:read" -->
- <!-- Utility templates -->
- <xsl:template name="get-parameter">
- <xsl:param name="parname"/>
- <xsl:param name="default"/>
- <xsl:param name="required">false</xsl:param>
-
- <xsl:variable name="qname">
- <xsl:value-of select="concat($prefix, ':param')"/>
- </xsl:variable>
-
+ <xsl:template match="map:redirect-to">
<xsl:choose>
- <xsl:when test="@*[name(.) = $parname]"><xsl:value-of
select="@*[name(.) = $parname]"/> </xsl:when>
- <xsl:when test="(*[name(.) = $qname])[EMAIL PROTECTED] = $parname]">
- <xsl:call-template name="get-nested-content">
- <xsl:with-param name="content"
- select="(*[name(.) = $qname])[EMAIL PROTECTED] =
$parname]"/>
- </xsl:call-template>
+ <xsl:when test="@resource">
+ //redirect-to resource <xsl:value-of select="translate(@resource, '-
', '__')"/>
+ </xsl:when>
+ <xsl:when test="@uri">
+ //redirect-to uri <xsl:value-of select="translate(@uri, '- ',
'__')"/>
</xsl:when>
<xsl:otherwise>
- <xsl:choose>
- <xsl:when test="string-length($default) = 0">
- <xsl:choose>
- <xsl:when test="$required = 'true'">
- <xsl:call-template name="error">
- <xsl:with-param name="message">[Logicsheet processor]
-Parameter '<xsl:value-of select="$parname"/>' missing in dynamic tag
<<xsl:value-of select="name(.)"/>>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>""</xsl:otherwise>
- </xsl:choose>
- </xsl:when>
- <xsl:otherwise><xsl:copy-of select="$default"/></xsl:otherwise>
- </xsl:choose>
</xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <xsl:template name="get-nested-content">
- <xsl:param name="content"/>
- <xsl:choose>
- <xsl:when test="$content/*">
- <xsl:apply-templates select="$content/*"/>
- </xsl:when>
- <xsl:otherwise><xsl:value-of select="$content"/></xsl:otherwise>
</xsl:choose>
- </xsl:template>
+ </xsl:template> <!-- match="map:redirect-to" -->
+
+ <xsl:template match="map:param">
+ param.setParameter ("<xsl:value-of select="@name"/>", "<xsl:value-of
select="@map:value"/>");
+ </xsl:template> <!-- match="map:param" -->
+
+ <!-- Sitemap Utility templates -->
+
+ <xsl:template name="define-components">
+ <xsl:param name="name-prefix"/>
+ <xsl:param name="interface"/>
+ <xsl:param name="components"/>
+ <xsl:for-each select="$components">
+ private <xsl:value-of select="$interface"/><xsl:text>
+ </xsl:text><xsl:value-of select="$name-prefix"/>_<xsl:value-of
select="translate(./@type, '- ', '__')"/> = null;
+ </xsl:for-each>
+ private <xsl:value-of select="$interface"/><xsl:text>
</xsl:text><xsl:value-of select="$name-prefix"/>_default__ = null;
+ </xsl:template>
+
+ <xsl:template name="config-components">
+ <xsl:param name="name"/>
+ <xsl:param name="interface"/>
+ <xsl:param name="components"/>
+ <xsl:param name="default"/>
+
+ <xsl:variable name="qname">
+ <xsl:value-of select="concat($prefix, ':value')"/>
+ </xsl:variable>
+
+ <xsl:for-each select="$components">
+ <xsl:variable name="confname">
+ <xsl:value-of select="$name"/>_<xsl:value-of select="@type"/>_conf
+ </xsl:variable>
+ <xsl:call-template name="nested-config-components">
+ <xsl:with-param name="name" select="$name"/>
+ <xsl:with-param name="config-name"><xsl:value-of
select="concat(local-name(.),'/',@type)"/></xsl:with-param>
+ <xsl:with-param name="interface" select="$interface"/>
+ <xsl:with-param name="components" select="*"/>
+ <xsl:with-param name="type" select="@type"/>
+ </xsl:call-template>
+ <xsl:value-of select="$name"/>_<xsl:value-of select="translate(@type,
'- ', '__')"/> =
+ (<xsl:value-of select="$interface"/>)load_component ("<xsl:value-of
select="@src"/>", <xsl:value-of select="$confname"/>);
+ </xsl:for-each>
+ <xsl:value-of select="$name"/>_default__ = <xsl:value-of
select="translate($name, '- ', '__')"/>_<xsl:value-of
select="translate($default, '- ', '__')"/>;
+ </xsl:template>
+
+ <xsl:template name="nested-config-components">
+ <xsl:param name="name"/>
+ <xsl:param name="config-name"/>
+ <xsl:param name="interface"/>
+ <xsl:param name="components"/>
+ <xsl:param name="type"/>
+ <xsl:param name="subname"/>
+
+ <xsl:variable name="qname">
+ <xsl:value-of select="concat($prefix, ':value')"/>
+ </xsl:variable>
- <xsl:template name="error">
- <xsl:param name="message"/>
- <xsl:message terminate="yes"><xsl:value-of
select="$message"/></xsl:message>
- </xsl:template>
+ <xsl:variable name="confname">
+ <xsl:value-of select="$name"/>_<xsl:value-of
select="$type"/><xsl:value-of select="$subname"/>_conf
+ </xsl:variable>
- <!-- Ignored elements -->
- <xsl:template match="map:logicsheet|map:dependency"/>
+ Configuration <xsl:value-of select="$confname"/> =
confBuilder.newConfiguration ("<xsl:value-of select="$config-name"/>");
-</xsl:stylesheet>
+ <!-- process content -->
+ <xsl:for-each select="$components">
+ <xsl:choose>
+ <xsl:when test="name(.)='map:param'">
+ <xsl:choose>
+ <xsl:when test="not(@value)">
+ confBuilder.addAttribute ("<xsl:value-of select="@name"/>",
"<xsl:value-of select="."/>", <xsl:value-of select="$confname"/>);
+ </xsl:when>
+ <xsl:otherwise>
+ confBuilder.addAttribute ("<xsl:value-of select="@name"/>",
"<xsl:value-of select="@value"/>", <xsl:value-of select="$confname"/>);
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:when test="name(@*)=$qname">
+ confBuilder.addAttribute ("<xsl:value-of select="name(.)"/>",
"<xsl:value-of select="@*[name(.)=$qname]"/>", <xsl:value-of
select="$confname"/>);
+ </xsl:when>
+ <xsl:when test="count(./*)=0">
+ confBuilder.addAttribute ("<xsl:value-of select="name(.)"/>",
"<xsl:value-of select="."/>", <xsl:value-of select="$confname"/>);
+ </xsl:when>
+ <xsl:when test="count(./*)>0">
+ <xsl:variable name="newsubname">
+ <xsl:choose>
+ <xsl:when test="not($subname)"><xsl:value-of
select="position()"/></xsl:when>
+ <xsl:otherwise><xsl:value-of
select="concat($subname,position())"/></xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <xsl:call-template name="nested-config-components">
+ <xsl:with-param name="name"><xsl:value-of
select="$name"/></xsl:with-param>
+ <xsl:with-param name="config-name"><xsl:value-of
select="local-name(.)"/></xsl:with-param>
+ <xsl:with-param name="interface"><xsl:value-of
select="$interface"/></xsl:with-param>
+ <xsl:with-param name="components" select="./*"/>
+ <xsl:with-param name="type"><xsl:value-of
select="$type"/></xsl:with-param>
+ <xsl:with-param name="subname"><xsl:value-of
select="$newsubname"/></xsl:with-param>
+ </xsl:call-template>
+ <xsl:variable name="newconfname">
+ <xsl:value-of select="$name"/>_<xsl:value-of
select="$type"/><xsl:value-of select="$newsubname"/>_conf
+ </xsl:variable>
+ confBuilder.addConfiguration (<xsl:value-of
select="$newconfname"/>, <xsl:value-of select="$confname"/>);
+ </xsl:when>
+ </xsl:choose>
+ </xsl:for-each>
+ </xsl:template>
+
+ <xsl:template name="setup-component">
+ <xsl:param name="default-component"/>
+ <xsl:param name="method"/>
+ <xsl:param name="prefix"/>
+ <xsl:variable name="component-type">
+ <xsl:call-template name="get-parameter">
+ <xsl:with-param name="parname">type</xsl:with-param>
+ <xsl:with-param name="default"><xsl:value-of
select="$default-component"/></xsl:with-param>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:variable name="component-source">
+ <xsl:call-template name="get-parameter">
+ <xsl:with-param name="parname">src</xsl:with-param>
+ <xsl:with-param name="default">null</xsl:with-param>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:if test="descendant::map:param">
+ param = new Parameters ();
+ </xsl:if>
+ <xsl:variable name="component-param">
+ <xsl:choose>
+ <xsl:when test="descendant::map:param">
+ param
+ </xsl:when>
+ <xsl:otherwise>
+ emptyParam
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <xsl:apply-templates select="./map:param"/>
+ <xsl:choose>
+ <xsl:when test="$component-source='null'">
+ pipeline.<xsl:value-of select="$method"/> (<xsl:value-of
select="$prefix"/>_<xsl:value-of select="$component-type"/>,
+ null, <xsl:value-of select="$component-param"/>);
+ </xsl:when>
+ <xsl:otherwise>
+ pipeline.<xsl:value-of select="$method"/> (<xsl:value-of
select="$prefix"/>_<xsl:value-of select="$component-type"/>,
+ "<xsl:value-of select="$component-source"/>",
<xsl:value-of select="$component-param"/>);
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <!-- Utility templates -->
+
+ <xsl:template name="get-parameter">
+ <xsl:param name="parname"/>
+ <xsl:param name="default"/>
+ <xsl:param name="required">false</xsl:param>
+
+ <xsl:variable name="qname">
+ <xsl:value-of select="concat($prefix, ':param')"/>
+ </xsl:variable>
+
+ <xsl:choose>
+ <xsl:when test="@*[name(.) = $parname]"><xsl:value-of
select="@*[name(.) = $parname]"/> </xsl:when>
+ <xsl:when test="(*[name(.) = $qname])[EMAIL PROTECTED] = $parname]">
+ <xsl:call-template name="get-nested-content">
+ <xsl:with-param name="content"
+ select="(*[name(.) = $qname])[EMAIL PROTECTED] =
$parname]"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:choose>
+ <xsl:when test="string-length($default) = 0">
+ <xsl:choose>
+ <xsl:when test="$required = 'true'">
+ <xsl:call-template name="error">
+ <xsl:with-param name="message">[Logicsheet processor]
+Parameter '<xsl:value-of select="$parname"/>' missing in dynamic tag
<<xsl:value-of select="name(.)"/>>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>""</xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:otherwise><xsl:copy-of select="$default"/></xsl:otherwise>
+ </xsl:choose>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <xsl:template name="get-nested-content">
+ <xsl:param name="content"/>
+ <xsl:choose>
+ <xsl:when test="$content/*">
+ <xsl:apply-templates select="$content/*"/>
+ </xsl:when>
+ <xsl:otherwise><xsl:value-of select="$content"/></xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <xsl:template name="error">
+ <xsl:param name="message"/>
+ <xsl:message terminate="yes"><xsl:value-of
select="$message"/></xsl:message>
+ </xsl:template>
+
+ <!-- Ignored elements -->
+ <xsl:template match="map:logicsheet|map:dependency|map:handle-errors"/>
+
+</xsl:stylesheet>