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;
}