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]