[prev in list] [next in list] [prev in thread] [next in thread] 

List:       xml-cocoon-cvs
Subject:    cvs commit: xml-cocoon2/src/org/apache/cocoon/components/language/markup/sitemap/java sitemap.xsl
From:       vgritsenko () apache ! org
Date:       2001-06-27 21:45:19
[Download RAW message or body]

vgritsenko    01/06/27 14:45:19

  Modified:    src/org/apache/cocoon/components/language/markup/sitemap/java
                        sitemap.xsl
  Log:
  Applied patch from Christian Haul [haul@dvs1.informatik.tu-darmstadt.de]:
   - matchers with ' ' and '-' in name works correctly.
   - map:parameters for action processed once (before invoking action)
  
  Revision  Changes    Path
  1.21      +14 -13    \
xml-cocoon2/src/org/apache/cocoon/components/language/markup/sitemap/java/sitemap.xsl \
  Index: sitemap.xsl
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/org/apache/cocoon/components/language/markup/sitemap/java/sitemap.xsl,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- sitemap.xsl	2001/06/22 02:47:40	1.20
  +++ sitemap.xsl	2001/06/27 21:45:17	1.21
  @@ -128,7 +128,7 @@
        *
        * @author <a href="mailto:giacomo@apache.org">Giacomo Pati</a>
        * @author <a href="mailto:bloritsch@apache.org">Berin \
                Loritsch</a>
  -     * @version CVS $Id: sitemap.xsl,v 1.20 2001/06/22 02:47:40 vgritsenko Exp $
  +     * @version CVS $Id: sitemap.xsl,v 1.21 2001/06/27 21:45:17 vgritsenko Exp $
        */
       public class <xsl:value-of select="@file-name"/> extends AbstractSitemap {
         static final String LOCATION = "<xsl:value-of select="translate(@file-path, \
'/', '.')"/>.<xsl:value-of select="@file-name"/>";  @@ -148,14 +148,15 @@
             <xsl:value-of select="@src"/>
           </xsl:variable>
           <xsl:if test="XSLTFactoryLoader:isFactory($factory-loader, string($src))">
  +          <xsl:variable name="name" select="@name"/>
             <xsl:variable name="type" select="translate(@name, '- ', '__')"/>
  -          <xsl:variable name="default" select="$type = ../@default"/>
  +          <xsl:variable name="default" select="@name = ../@default"/>
             <xsl:variable name="config"><xsl:copy-of select="."/></xsl:variable>
             private Map <xsl:value-of select="$type"/>Match (<xsl:value-of \
select="XSLTFactoryLoader:getParameterSource($factory-loader, \
                string($src),$config)"/> pattern, Map objectModel, Parameters \
                parameters) {
               <xsl:value-of \
select="XSLTFactoryLoader:getMethodSource($factory-loader, string($src),$config)"/>  \
                }
             <!-- process all map:match elements with a type attribute refering to \
                the current matcher factory iteration -->
  -          <xsl:for-each \
select="/map:sitemap/map:pipelines/map:pipeline/descendant-or-self::map:match[@type=$type \
or (not(@type) and $default)]">  +          <xsl:for-each \
select="/map:sitemap/map:pipelines/map:pipeline/descendant-or-self::map:match[@type=$name \
or (not(@type) and $default)]">  <xsl:call-template name="line-number"/>
               <xsl:variable name="matcher-name">
                 <xsl:call-template name="generate-name">
  @@ -471,7 +472,7 @@
                   </xsl:call-template>
                 </xsl:variable>
                 // method for handling "<xsl:value-of select="@pattern"/>"
  -              if(<xsl:value-of select="$matcher-type"/>Match<xsl:value-of \
select="generate-id(.)"/>(  +              if(<xsl:value-of \
select="translate($matcher-type, '- ', '__')"/>Match<xsl:value-of \
                select="generate-id(.)"/>(
                                                       environment, pipeline, \
                eventPipeline,
                                                       internalRequest,listOfMaps))
                   return true;
  @@ -622,7 +623,7 @@
       <!-- this is the actual code produced -->
       // handling "<xsl:value-of select="@pattern"/>"
           if ((map = <xsl:value-of select="$matcher-name"/>) != null) {
  -          getLogger().debug("Matched <xsl:value-of select="$matcher-type"/> \
<xsl:value-of select="$matcher-name2"/>");  +          getLogger().debug("Matched \
<xsl:value-of select="$matcher-type"/><xsl:text> </xsl:text><xsl:value-of \
select="$matcher-name2"/>");  listOfMaps.add (map);
             <xsl:apply-templates/>
             listOfMaps.remove (listOfMaps.size()-1);
  @@ -708,7 +709,7 @@
   
       <!-- this is the actual code produced -->
       // method for handling "<xsl:value-of select="@pattern"/>"
  -    private boolean <xsl:value-of select="$matcher-type"/>Match<xsl:value-of \
select="generate-id(.)"/>(  +    private boolean <xsl:value-of \
select="translate($matcher-type, '- ', '__')"/>Match<xsl:value-of \
                select="generate-id(.)"/>(
                                       Environment environment, StreamPipeline \
pipeline,  EventPipeline eventPipeline,
                                       boolean internalRequest, List listOfMaps)
  @@ -897,7 +898,7 @@
            }
            getLogger().debug("Action <xsl:value-of \
select="translate($action-name,'&quot;',' ')"/>");  listOfMaps.add (map);
  -          <xsl:apply-templates/>
  +          <xsl:apply-templates \
select="./*[namespace-uri()='http://apache.org/cocoon/sitemap/1.0' and local-name() \
!= 'parameter']"/>  listOfMaps.remove(listOfMaps.size()-1);
           }
            if (redirector.hasRedirected()) {
  @@ -955,9 +956,9 @@
       <xsl:choose>
         <xsl:when test="./*[namespace-uri()='http://apache.org/cocoon/sitemap/1.0' \
and local-name() != 'parameter']">  if ((map = <xsl:value-of select="$action-name"/> \
(redirector, environment, objectModel, substitute(listOfMaps,<xsl:value-of \
                select="$action-source"/>), <xsl:value-of \
                select="$component-param"/>)) != null) {
  -         getLogger().debug("Action <xsl:value-of \
select="translate($action-name,'&quot;',' ')"/>");  +          \
getLogger().debug("Action <xsl:value-of select="translate($action-name,'&quot;',' \
')"/>");  listOfMaps.add (map);
  -          <xsl:apply-templates/>
  +          <xsl:apply-templates \
select="./*[namespace-uri()='http://apache.org/cocoon/sitemap/1.0' and local-name() \
!= 'parameter']"/>  listOfMaps.remove(listOfMaps.size()-1);
           }
         </xsl:when>
  @@ -1027,9 +1028,9 @@
             if (redirector.hasRedirected()) {
                 return true;
             }
  -         getLogger().debug("Action <xsl:value-of \
select="translate($action-name,'&quot;',' ')"/>");  +          \
getLogger().debug("Action <xsl:value-of select="translate($action-name,'&quot;',' \
')"/>");  listOfMaps.add (map);
  -          <xsl:apply-templates/>
  +          <xsl:apply-templates \
select="./*[namespace-uri()='http://apache.org/cocoon/sitemap/1.0' and local-name() \
!= 'parameter']"/>  listOfMaps.remove(listOfMaps.size()-1);
           }
             if (redirector.hasRedirected()) {
  @@ -1179,7 +1180,7 @@
           </xsl:variable>
           <xsl:if test="string-length($target) > 0 and string($target) != \
'&quot;&quot;'">  map = new HashMap(1);
  -          map.put("target","<xsl:value-of select="$target"/>");
  +          map.put("target",substitute(listOfMaps,"<xsl:value-of \
select="$target"/>"));  listOfMaps.add(map);
           </xsl:if>
            Class[] argTypes = new Class[] {StreamPipeline.class, \
EventPipeline.class, List.class, Environment.class, String.class, Boolean.TYPE};  @@ \
-1518,7 +1519,7 @@  <xsl:template name="generate-name">
       <xsl:param name="prefix"/>
       <xsl:param name="suffix"/>
  -    <xsl:value-of select="$prefix"/><xsl:value-of select="$suffix"/>
  +    <xsl:value-of select="translate(concat($prefix,$suffix),'- ','__')"/>
     </xsl:template>
   
     <!-- These are the usual utility templates for logicsheets -->
  
  
  

----------------------------------------------------------------------
In case of troubles, e-mail:     webmaster@xml.apache.org
To unsubscribe, e-mail:          cocoon-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: cocoon-cvs-help@xml.apache.org


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic