grchiu      2002/12/19 10:45:29

  Modified:    java/src/org/apache/xalan/templates Tag: xslt20
                        ElemCopyOf.java ElemElement.java
                        ElemTemplateElement.java
               java/src/org/apache/xalan/transformer Tag: xslt20
                        ResultTreeHandler.java
  Log:
  Migrating fixes for bugzillas 8473, 13374, 13375, 13414 to xslt20 branch.
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.14.4.1.2.1 +4 -0      
xml-xalan/java/src/org/apache/xalan/templates/ElemCopyOf.java
  
  Index: ElemCopyOf.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemCopyOf.java,v
  retrieving revision 1.14.4.1
  retrieving revision 1.14.4.1.2.1
  diff -u -r1.14.4.1 -r1.14.4.1.2.1
  --- ElemCopyOf.java   14 Aug 2002 19:21:28 -0000      1.14.4.1
  +++ ElemCopyOf.java   19 Dec 2002 18:45:29 -0000      1.14.4.1.2.1
  @@ -279,6 +279,10 @@
                   child != DTM.NULL;
                   child = dtm.getNextSibling(child))
                 {
  +                // Bugzilla 8473
  +                if (dtm.getNamespaceURI(child) == null) {
  +                  handler.startPrefixMapping("","");
  +                }
                   tw.traverse(child);
                 }
               }
  
  
  
  1.26.2.1.2.2 +6 -2      
xml-xalan/java/src/org/apache/xalan/templates/ElemElement.java
  
  Index: ElemElement.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemElement.java,v
  retrieving revision 1.26.2.1.2.1
  retrieving revision 1.26.2.1.2.2
  diff -u -r1.26.2.1.2.1 -r1.26.2.1.2.2
  --- ElemElement.java  6 Dec 2002 18:14:51 -0000       1.26.2.1.2.1
  +++ ElemElement.java  19 Dec 2002 18:45:29 -0000      1.26.2.1.2.2
  @@ -402,7 +402,9 @@
         else
         {
           // Add namespace declarations.
  -        executeNSDecls(transformer);
  +        // Bugzilla 13414: do not startPrefixMapping on 'prefix'
  +        // as it is handled below
  +        executeNSDecls(transformer, prefix);
   
           if (null != prefix)
           {
  @@ -428,7 +430,9 @@
           {
             rhandler.endPrefixMapping(prefix);
           }
  -        unexecuteNSDecls(transformer);
  +        // Bugzilla 13414: do not endPrefixMapping on 'prefix'
  +        // as it is handled above
  +        unexecuteNSDecls(transformer, prefix);
         }
       }
       catch (SAXException se)
  
  
  
  1.53.2.1.2.2 +31 -3     
xml-xalan/java/src/org/apache/xalan/templates/ElemTemplateElement.java
  
  Index: ElemTemplateElement.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemTemplateElement.java,v
  retrieving revision 1.53.2.1.2.1
  retrieving revision 1.53.2.1.2.2
  diff -u -r1.53.2.1.2.1 -r1.53.2.1.2.2
  --- ElemTemplateElement.java  11 Oct 2002 21:23:18 -0000      1.53.2.1.2.1
  +++ ElemTemplateElement.java  19 Dec 2002 18:45:29 -0000      1.53.2.1.2.2
  @@ -1216,6 +1216,20 @@
      */
     protected void executeNSDecls(TransformerImpl transformer) throws 
TransformerException
     {
  +     executeNSDecls(transformer, null);
  +  }
  +
  +  /**
  +   * Send startPrefixMapping events to the result tree handler
  +   * for all declared prefix mappings in the stylesheet.
  +   *
  +   * @param transformer non-null reference to the the current transform-time 
state.
  +   * @param ignorePrefix string prefix to not startPrefixMapping
  +   *
  +   * @throws TransformerException
  +   */
  +  void executeNSDecls(TransformerImpl transformer, String ignorePrefix) 
throws TransformerException
  +  {  
   
       try
       {
  @@ -1228,7 +1242,7 @@
           {
             XMLNSDecl decl = (XMLNSDecl) m_prefixTable.elementAt(i);
   
  -          if (!decl.getIsExcluded())
  +          if (!decl.getIsExcluded() && !(null != ignorePrefix && 
decl.getPrefix().equals(ignorePrefix)))
             {
               rhandler.startPrefixMapping(decl.getPrefix(), decl.getURI(), 
true);
             }
  @@ -1242,7 +1256,7 @@
     }
   
     /**
  -   * Send startPrefixMapping events to the result tree handler
  +   * Send endPrefixMapping events to the result tree handler
      * for all declared prefix mappings in the stylesheet.
      *
      * @param transformer non-null reference to the the current transform-time 
state.
  @@ -1251,6 +1265,20 @@
      */
     protected void unexecuteNSDecls(TransformerImpl transformer) throws 
TransformerException
     {
  +     unexecuteNSDecls(transformer, null);
  +  }
  +
  +  /**
  +   * Send endPrefixMapping events to the result tree handler
  +   * for all declared prefix mappings in the stylesheet.
  +   *
  +   * @param transformer non-null reference to the the current transform-time 
state.
  +   * @param ignorePrefix string prefix to not endPrefixMapping
  +   * 
  +   * @throws TransformerException
  +   */
  +  void unexecuteNSDecls(TransformerImpl transformer, String ignorePrefix) 
throws TransformerException
  +  {
   
       try
       {
  @@ -1263,7 +1291,7 @@
           {
             XMLNSDecl decl = (XMLNSDecl) m_prefixTable.elementAt(i);
   
  -          if (!decl.getIsExcluded())
  +          if (!decl.getIsExcluded() && !(null != ignorePrefix && 
decl.getPrefix().equals(ignorePrefix)))
             {
               rhandler.endPrefixMapping(decl.getPrefix());
             }
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.56.2.1.2.1 +3 -3      
xml-xalan/java/src/org/apache/xalan/transformer/ResultTreeHandler.java
  
  Index: ResultTreeHandler.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xalan/transformer/ResultTreeHandler.java,v
  retrieving revision 1.56.2.1
  retrieving revision 1.56.2.1.2.1
  diff -u -r1.56.2.1 -r1.56.2.1.2.1
  --- ResultTreeHandler.java    14 Aug 2002 19:21:30 -0000      1.56.2.1
  +++ ResultTreeHandler.java    19 Dec 2002 18:45:29 -0000      1.56.2.1.2.1
  @@ -1106,6 +1106,9 @@
         String prefix = (String) prefixes.nextElement();
         String uri=m_nsSupport.getURI(prefix);
         
  +      if (null == uri)
  +        uri = "";
  +
         // Send event
         handler.startPrefixMapping(prefix, uri);
   
  @@ -1120,9 +1123,6 @@
         }
         else
           name = "xmlns:" + prefix;
  -
  -      if (null == uri)
  -        uri = "";
   
         m_attributes.addAttribute("http://www.w3.org/2000/xmlns/";, 
                                   prefix, name, "CDATA", uri);
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to