aruny 2003/08/13 05:52:43
Modified: java/src/org/apache/xalan/transformer Tag: jaxp-1_3_0-branch
TransformerIdentityImpl.java
Log:
Description: Applying patch for :
1.As per JAXP1.2 spec if Zero-argument default constructor DOMSource()
is used, and no DOM source is set, then the Transformer will create
an empty source Document using newDocument().
2.As per JAXP1.2 spec, if a SAXSource is created using a SAX InputSource then
the Transformer or SAXTransformerFactory creates a reader via
org.xml.sax.helpers.XMLReaderFactory (if setXMLReader is not used),
sets itself as the reader s org.xml.sax.ContentHandler , and calls
reader.parse(inputSource).
Revision Changes Path
No revision
No revision
1.24.2.1 +22 -5
xml-xalan/java/src/org/apache/xalan/transformer/TransformerIdentityImpl.java
Index: TransformerIdentityImpl.java
===================================================================
RCS file:
/home/cvs/xml-xalan/java/src/org/apache/xalan/transformer/TransformerIdentityImpl.java,v
retrieving revision 1.24
retrieving revision 1.24.2.1
diff -u -r1.24 -r1.24.2.1
--- TransformerIdentityImpl.java 1 Apr 2003 20:26:39 -0000 1.24
+++ TransformerIdentityImpl.java 13 Aug 2003 12:52:43 -0000 1.24.2.1
@@ -322,6 +322,16 @@
m_systemID = dsource.getSystemId();
Node dNode = dsource.getNode();
+
+ // As per JAXP1.2 spec if Zero-argument default constructor DOMSource()
+ // is used, and no DOM source is set, then the Transformer will create
+ // an empty source Document using newDocument().
+ if(null == dNode){
+ try{
+ dNode =
DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
+ }
+ catch(Exception e){ }
+ }
if (null != dNode)
{
@@ -383,6 +393,17 @@
if (source instanceof SAXSource)
reader = ((SAXSource) source).getXMLReader();
+ //As per JAXP1.2 spec, if a SAXSource is created using a SAX
InputSource then
+ // the Transformer or SAXTransformerFactory creates a reader via
+ //org.xml.sax.helpers.XMLReaderFactory (if setXMLReader is not
used),
+ //sets itself as the reader s org.xml.sax.ContentHandler , and calls
+ //reader.parse(inputSource).
+ if (null == reader)
+ {
+ reader = XMLReaderFactory.createXMLReader();
+ reader.setFeature("http://xml.org/sax/features/namespaces", true);
+ }
+
if (null == reader)
{
@@ -410,11 +431,7 @@
catch (AbstractMethodError ame){}
}
- if (null == reader)
- {
- reader = XMLReaderFactory.createXMLReader();
- }
-
+
try
{
reader.setFeature("http://xml.org/sax/features/namespace-prefixes",
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]