You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commons-dev@ws.apache.org by ve...@apache.org on 2009/08/06 23:55:51 UTC

svn commit: r801823 - /webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/builder/StAXOMBuilder.java

Author: veithen
Date: Thu Aug  6 21:55:51 2009
New Revision: 801823

URL: http://svn.apache.org/viewvc?rev=801823&view=rev
Log:
We explicitly allow creation of a StAXOMWrapper from a parser in state START_ELEMENT. This means that we must check the state of the parser before calling getVersion or isStandalone, since these methods are allowed by the StAX specs only in state START_DOCUMENT. This solves an issue with XLXP.

Modified:
    webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/builder/StAXOMBuilder.java

Modified: webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/builder/StAXOMBuilder.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/builder/StAXOMBuilder.java?rev=801823&r1=801822&r2=801823&view=diff
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/builder/StAXOMBuilder.java (original)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/builder/StAXOMBuilder.java Thu Aug  6 21:55:51 2009
@@ -158,8 +158,16 @@
         if (charEncoding != null) {
             document.setCharsetEncoding(charEncoding);
         }
-        document.setXMLVersion(parser.getVersion());
-        document.setStandalone(parser.isStandalone() ? "yes" : "no");
+        if (parser.getEventType() == XMLStreamConstants.START_DOCUMENT) {
+            document.setXMLVersion(parser.getVersion());
+            document.setStandalone(parser.isStandalone() ? "yes" : "no");
+        } else {
+            // We allow creating a StAXOMWrapper from a parser in state START_ELEMENT. In that
+            // case, we must not call getVersion or isStandalone since this is forbidden by the
+            // StAX specs. Set some reasonable defaults.
+            document.setXMLVersion("1.0");
+            document.setStandalone("yes");
+        }
         return document;
     }