giacomo     01/04/24 15:26:51

  Modified:    src/org/apache/cocoon/components/language/markup/sitemap/java
                        Tag: xml-cocoon2 sitemap.xsl
               src/org/apache/cocoon/sitemap Tag: xml-cocoon2
                        ContentAggregator.java
  Log:
  Added a prefix attribute to both map:aggregate and map:part to have a
  namespace prefix available.
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.107 +3 -3      
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.106
  retrieving revision 1.1.2.107
  diff -u -r1.1.2.106 -r1.1.2.107
  --- sitemap.xsl       2001/04/24 20:21:27     1.1.2.106
  +++ sitemap.xsl       2001/04/24 22:26:48     1.1.2.107
  @@ -98,7 +98,7 @@
        *
        * @author <a href="mailto:[EMAIL PROTECTED]">Giacomo 
Pati</a>
        * @author <a href="mailto:[EMAIL PROTECTED]">Berin 
Loritsch</a>
  -     * @version CVS $Id: sitemap.xsl,v 1.1.2.106 2001/04/24 20:21:27 giacomo 
Exp $
  +     * @version CVS $Id: sitemap.xsl,v 1.1.2.107 2001/04/24 22:26:48 giacomo 
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"/>";
  @@ -976,7 +976,7 @@
           </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="$ca"/>.setRootElement("<xsl:value-of 
select="@element"/>", "<xsl:value-of select="@ns"/>", "<xsl:value-of 
select="@prefix"/>");
       <xsl:apply-templates select="./map:part">
         <xsl:with-param name="ca"><xsl:value-of select="$ca"/></xsl:with-param>
       </xsl:apply-templates>
  @@ -992,7 +992,7 @@
           </xsl:with-param>
         </xsl:call-template>
       </xsl:if>
  -    <xsl:value-of 
select="$ca"/>.addPart(substitute(listOfMaps,"<xsl:value-of select="@src"/>"), 
"<xsl:value-of select="@element"/>", "<xsl:value-of select="@ns"/>", 
"<xsl:value-of select="@strip-root"/>");
  +    <xsl:value-of 
select="$ca"/>.addPart(substitute(listOfMaps,"<xsl:value-of select="@src"/>"), 
"<xsl:value-of select="@element"/>", "<xsl:value-of select="@ns"/>", 
"<xsl:value-of select="@strip-root"/>", "<xsl:value-of select="@prefix"/>");
     </xsl:template> <!-- match="map:part" -->
   
     <!-- collect parameter definitions -->
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.8   +33 -22    
xml-cocoon/src/org/apache/cocoon/sitemap/Attic/ContentAggregator.java
  
  Index: ContentAggregator.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon/src/org/apache/cocoon/sitemap/Attic/ContentAggregator.java,v
  retrieving revision 1.1.2.7
  retrieving revision 1.1.2.8
  diff -u -r1.1.2.7 -r1.1.2.8
  --- ContentAggregator.java    2001/04/24 20:21:26     1.1.2.7
  +++ ContentAggregator.java    2001/04/24 22:26:50     1.1.2.8
  @@ -41,7 +41,7 @@
   
   /**
    * @author <a href="mailto:[EMAIL PROTECTED]">Giacomo Pati</a>
  - * @version CVS $Id: ContentAggregator.java,v 1.1.2.7 2001/04/24 20:21:26 
giacomo Exp $
  + * @version CVS $Id: ContentAggregator.java,v 1.1.2.8 2001/04/24 22:26:50 
giacomo Exp $
    */
   
   public class ContentAggregator extends ContentHandlerWrapper
  @@ -55,6 +55,9 @@
       /** the namespace of the root element */
       protected String rootElementNS;
   
  +    /** the namespace prefix of the root element */
  +    protected String rootElementNSPrefix;
  +
       /** the parts */
       protected ArrayList parts = new ArrayList();
   
  @@ -114,11 +117,13 @@
           public String uri;
           public String element;
           public String namespace;
  +        public String prefix;
           boolean stripRootElement;
  -        public Part (String uri, String element, String namespace, String 
stripRoot) {
  +        public Part (String uri, String element, String namespace, String 
stripRoot, String prefix) {
               this.uri = uri;
               this.element = element;
               this.namespace = namespace;
  +            this.prefix = prefix;
               if (stripRoot.equals("yes") || stripRoot.equals("true")) {
                   this.stripRootElement = true;
               } else {
  @@ -134,17 +139,19 @@
           getLogger().debug("ContentAggregator: generating aggregated 
content");
           collectParts();
           this.documentHandler.startDocument();
  -        this.startElem(this.rootElementNS, this.rootElement);
  +        this.startElem(this.rootElementNS, this.rootElementNSPrefix, 
this.rootElement);
           try {
               for (int i = 0; i < this.partEventPipelines.size(); i++) {
                   Part part = (Part)this.parts.get(i);
                   this.rootElementIndex = (part.stripRootElement ? 0 : -1);
                   String ns = part.namespace;
  +                String prefix = part.prefix;
                   if (ns.equals("")) {
                       ns = this.getNS();
  +                    prefix = "";
                   }
                   if (!part.element.equals("")) {
  -                    this.startElem(ns, part.element);
  +                    this.startElem(ns, prefix, part.element);
                   }
                   EventPipeline ep = 
(EventPipeline)this.partEventPipelines.get(i);
                   ((XMLProducer)ep).setConsumer(this);
  @@ -158,12 +165,12 @@
                       this.manager.release(ep);
                       this.environment.popURI();
                       if (!part.element.equals("")) {
  -                        this.endElem(part.element);
  +                        this.endElem(prefix, part.element);
                       }
                   }
               }
           } finally {
  -            this.endElem(this.rootElement);
  +            this.endElem(this.rootElementNSPrefix, this.rootElement);
               this.documentHandler.endDocument();
           }
           getLogger().debug("ContentAggregator: finished aggregating content");
  @@ -232,19 +239,17 @@
           this.sitemap = sitemap;
       }
   
  -    public void setRootElement(String element, String namespace) {
  +    public void setRootElement(String element, String namespace, String 
prefix) {
           this.rootElement = element;
  -        if (namespace == null) {
  -            this.rootElementNS = "";
  -        } else {
  -            this.rootElementNS = namespace;
  -        }
  -        getLogger().debug("ContentAggregator: root element='" + element + "' 
ns='" + namespace + "'");
  +        this.rootElementNS = namespace;
  +        this.rootElementNSPrefix = prefix;
  +        getLogger().debug("ContentAggregator: root element='" + element + "' 
ns='" + namespace + "' prefix='" + prefix + "'");
       }
  -    
  -    public void addPart(String uri, String element, String namespace, String 
stripRootElement) {
  -        this.parts.add(new Part(uri, element, namespace, stripRootElement));
  -        getLogger().debug("ContentAggregator: part uri='" + uri + "' 
element='" + element + "' ns='" + namespace + "' stripRootElement='" + 
stripRootElement + "'");
  +
  +    public void addPart(String uri, String element, String namespace, String 
stripRootElement, String prefix) {
  +        this.parts.add(new Part(uri, element, namespace, stripRootElement, 
prefix));
  +        getLogger().debug("ContentAggregator: part uri='" + uri + "' 
element='" + element + "' ns='" + namespace
  +                        + "' stripRootElement='" + stripRootElement + "' 
prefix='" + prefix + "'");
       }
   
       /**
  @@ -286,6 +291,7 @@
           this.parameters = null;
           this.rootElement = null;
           this.rootElementNS = null;
  +        this.rootElementNSPrefix = null;
           this.parts.clear();
           this.environment = null;
           this.partEventPipelines.clear();
  @@ -324,21 +330,26 @@
           return (String)currentNS.get(last);
       }
   
  -    private void startElem(String namespaceURI, String name) throws 
SAXException {
  +    private void startElem(String namespaceURI, String prefix, String name) 
throws SAXException {
           this.pushNS(namespaceURI);
           AttributesImpl attrs = new AttributesImpl();
  +        String qname = name;
           if (!namespaceURI.equals("")) {
  -            this.documentHandler.startPrefixMapping("", namespaceURI);
  -            attrs.addAttribute("", "xmlns", "xmlns", "CDATA", namespaceURI);
  +            this.documentHandler.startPrefixMapping(prefix, namespaceURI);
  +            if (!prefix.equals("")) {
  +                attrs.addAttribute("", prefix, "xmlns:" + prefix, "CDATA", 
namespaceURI);
  +            } else {
  +                attrs.addAttribute("", "xmlns", "xmlns", "CDATA", 
namespaceURI);
  +            }
           }
           this.documentHandler.startElement(namespaceURI, name, name, attrs);
       }
   
  -    private void endElem(String name) throws SAXException {
  +    private void endElem(String prefix, String name) throws SAXException {
           String ns = this.popNS();
           this.documentHandler.endElement(ns, name, name);
           if (!ns.equals("")) {
  -            this.documentHandler.endPrefixMapping("");
  +            this.documentHandler.endPrefixMapping(prefix);
           }
       }
   
  
  
  

----------------------------------------------------------------------
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