vgritsenko    02/01/13 19:07:52

  Modified:    src/java/org/apache/cocoon/components/language/markup/sitemap/java
                        sitemap.xsl
  Log:
  Some more fixes (substitution, formatting)
  
  Revision  Changes    Path
  1.3       +45 -23    
xml-cocoon2/src/java/org/apache/cocoon/components/language/markup/sitemap/java/sitemap.xsl
  
  Index: sitemap.xsl
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/language/markup/sitemap/java/sitemap.xsl,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- sitemap.xsl       14 Jan 2002 02:58:34 -0000      1.2
  +++ sitemap.xsl       14 Jan 2002 03:07:52 -0000      1.3
  @@ -214,7 +214,7 @@
        * @author <a href="mailto:[EMAIL PROTECTED]">Berin Loritsch</a>
        * @author <a href="mailto:[EMAIL PROTECTED]">Nicola Ken 
Barozzi</a>
        * @author <a href="mailto:[EMAIL PROTECTED]">Peter 
Royal</a>
  -     * @version CVS $Id: sitemap.xsl,v 1.2 2002/01/14 02:58:34 vgritsenko Exp $
  +     * @version CVS $Id: sitemap.xsl,v 1.3 2002/01/14 03:07:52 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"/>";
  @@ -242,28 +242,28 @@
          * Method that handles selectors.
          */
         private boolean isSelected(String hint, String testValue, Parameters params, 
Map objectModel) throws Exception {
  -          Selector selector = (Selector)this.selectors.select(hint);
  -          try {
  -              return selector.select(testValue, objectModel, params);
  -          } finally {
  -              this.selectors.release(selector);
  -          }
  +        Selector selector = (Selector)this.selectors.select(hint);
  +        try {
  +          return selector.select(testValue, objectModel, params);
  +        } finally {
  +          this.selectors.release(selector);
  +        }
         }
   
         /**
          * Method that handles matchers.
          */
         private Map matches(String hint, Object preparedPattern, String pattern, 
Parameters params, Map objectModel) throws Exception {
  -          Component matcher = (Component)this.matchers.select(hint);
  -          try {
  -              if (preparedPattern == null) {
  -                  return ((Matcher)matcher).match(pattern, objectModel, params);
  -              } else {
  -                  return 
((PreparableMatcher)matcher).preparedMatch(preparedPattern, objectModel, params);
  -              }
  -          } finally {
  -              this.matchers.release(matcher);
  +        Component matcher = (Component)this.matchers.select(hint);
  +        try {
  +          if (preparedPattern == null) {
  +            return ((Matcher)matcher).match(pattern, objectModel, params);
  +          } else {
  +            return ((PreparableMatcher)matcher).preparedMatch(preparedPattern, 
objectModel, params);
             }
  +        } finally {
  +          this.matchers.release(matcher);
  +        }
         }
   
   
  @@ -277,8 +277,8 @@
             this.sitemapManager.compose(this.manager);
             this.sitemapManager.configure(conf);
   
  -        <!-- generate a HashMap relating labels to view names -->
           <xsl:for-each select="/map:sitemap/map:views/map:view">
  +          <!-- generate a HashMap relating labels to view names -->
             <xsl:variable name="view-label-name">
               <xsl:choose>
                 <xsl:when test="(@from-label)">
  @@ -295,7 +295,8 @@
               </xsl:choose>
             </xsl:variable>
             <xsl:if test="@from-label">
  -            view_label_map.put("<xsl:value-of select="$view-label-name"/>", 
"<xsl:value-of select="@name"/>");
  +            <xsl:text>view_label_map.put("</xsl:text><xsl:value-of 
select="$view-label-name"/>
  +            <xsl:text>", "</xsl:text><xsl:value-of select="@name"/>");
             </xsl:if>
           </xsl:for-each>
   
  @@ -1374,9 +1375,25 @@
           </xsl:with-param>
         </xsl:call-template>
       </xsl:if>
  -    <xsl:value-of select="$ca"/>.setRootElement("<xsl:value-of 
select="@element"/>", "<xsl:value-of select="@ns"/>", "<xsl:value-of 
select="@prefix"/>");
  +
  +    <xsl:variable name="ns">
  +      <xsl:call-template name="get-parameter-substituted">
  +        <xsl:with-param name="parname">ns</xsl:with-param>
  +        <xsl:with-param name="default">""</xsl:with-param>
  +      </xsl:call-template>
  +    </xsl:variable>
  +    <xsl:variable name="prefix">
  +      <xsl:call-template name="get-parameter-substituted">
  +        <xsl:with-param name="parname">prefix</xsl:with-param>
  +        <xsl:with-param name="default">""</xsl:with-param>
  +      </xsl:call-template>
  +    </xsl:variable>
  +
  +    <xsl:value-of select="$ca"/>.setRootElement(<xsl:apply-templates 
select="@element"/>,
  +        <xsl:value-of select="$ns"/>, <xsl:value-of select="$prefix"/>);
   
       <!-- check if a view was requested which matches one attached to a part element 
-->
  +    <xsl:if test="map:part[@label]">
       {
         boolean hasMatchingViewRequest = false;
         <xsl:for-each select="map:part[@label]">
  @@ -1391,16 +1408,17 @@
         <!-- process all map:parts -->
         if (hasMatchingViewRequest) {
           <xsl:for-each select="map:part[@label]">
  +          <!-- invoke view, and return here -->
             <xsl:call-template name="view-label">
               <xsl:with-param name="label"><xsl:value-of 
select="@label"/></xsl:with-param>
             </xsl:call-template>
           </xsl:for-each>
  -      } else {
  -        <xsl:apply-templates select="map:part">
  -          <xsl:with-param name="ca"><xsl:value-of select="$ca"/></xsl:with-param>
  -        </xsl:apply-templates>
         }
       }
  +    </xsl:if>
  +    <xsl:apply-templates select="map:part">
  +      <xsl:with-param name="ca"><xsl:value-of select="$ca"/></xsl:with-param>
  +    </xsl:apply-templates>
   
       <!-- process attached labels to the map:aggregate element -->
       <xsl:if test="@label">
  @@ -1693,6 +1711,8 @@
       </xsl:if>
     </xsl:template>
   
  +
  +
     <!-- generate the code to match a label definition -->
     <xsl:template name="view-label">
       <xsl:param name="label"/>
  @@ -1703,6 +1723,8 @@
         }
       }
     </xsl:template>
  +
  +
   
     <!-- replace invalid characters with underscores -->
     <xsl:template name="generate-name">
  
  
  

----------------------------------------------------------------------
In case of troubles, e-mail:     [EMAIL PROTECTED]
To unsubscribe, e-mail:          [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to