jkesselm    01/11/09 11:46:45

  Modified:    java/src/org/apache/xalan/transformer ResultTreeHandler.java
  Log:
  Bugzilla 4344: more efficient.
  
  Revision  Changes    Path
  1.53      +26 -32    
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.52
  retrieving revision 1.53
  diff -u -r1.52 -r1.53
  --- ResultTreeHandler.java    2001/11/09 16:53:57     1.52
  +++ ResultTreeHandler.java    2001/11/09 19:46:45     1.53
  @@ -943,18 +943,6 @@
   
         m_nsContextPushed = false;
       }
  -
  -    else // Bugzila4344
  -    {
  -      // %REVIEW% I'm not sure how much of this is actually needed and/or
  -      // appropriate. In particular, do we really want to flush m_namespaces?
  -      m_attributes.clear();
  -      m_nsDeclsHaveBeenAdded = false;
  -      m_name = null;
  -      m_url = null;
  -      m_localName = null;
  -      m_namespaces = null;
  -    }
     }
   
     /**
  @@ -1416,30 +1404,36 @@
             String uri, String localName, String rawName, String type, String 
value)
               throws TransformerException
     {
  +    // %REVIEW% See Bugzilla 4344. Do we need an "else" that announces
  +    // an error? Technically, this can't happen unless the stylesheet
  +    // is unreasonable... but it's unclear whether silent or noisy
  +    // failure is called for.
  +    if (m_elemIsPending)
  +    {
  +      // %REVIEW% %OPT% Is this ever needed?????
  +      if (!m_nsDeclsHaveBeenAdded)
  +     addNSDeclsToAttrs();
   
  -    // %REVIEW% %OPT% Is this ever needed?????
  -    if (!m_nsDeclsHaveBeenAdded)
  -      addNSDeclsToAttrs();
  +      if (null == uri)  // defensive, should not really need this.
  +     uri = "";
   
  -    if (null == uri)  // defensive, should not really need this.
  -      uri = "";
  +      try
  +      {
  +     if (!rawName.equals("xmlns"))  // don't handle xmlns default namespace.
  +       ensurePrefixIsDeclared(uri, rawName);
  +      }
  +      catch (org.xml.sax.SAXException se)
  +      {
  +     throw new TransformerException(se);
  +      }
  +      
  +      if (DEBUG)
  +     System.out.println("ResultTreeHandler#addAttribute Adding attr: "
  +                        + localName + ", " + uri);
   
  -    try
  -    {
  -      if (!rawName.equals("xmlns"))  // don't handle xmlns default namespace.
  -        ensurePrefixIsDeclared(uri, rawName);
  -    }
  -    catch (org.xml.sax.SAXException se)
  -    {
  -      throw new TransformerException(se);
  +      if (!isDefinedNSDecl(rawName, value))
  +     m_attributes.addAttribute(uri, localName, rawName, type, value);
       }
  -
  -    if (DEBUG)
  -      System.out.println("ResultTreeHandler#addAttribute Adding attr: "
  -                         + localName + ", " + uri);
  -
  -    if (!isDefinedNSDecl(rawName, value))
  -      m_attributes.addAttribute(uri, localName, rawName, type, value);
     }
   
     /**
  
  
  

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

Reply via email to