You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by di...@apache.org on 2005/07/11 00:23:28 UTC
svn commit: r210053 -
/webservices/axis/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/builder/StAXOMBuilder.java
Author: dims
Date: Sun Jul 10 15:23:24 2005
New Revision: 210053
URL: http://svn.apache.org/viewcvs?rev=210053&view=rev
Log:
Handle PI better.
Modified:
webservices/axis/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/builder/StAXOMBuilder.java
Modified: webservices/axis/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/builder/StAXOMBuilder.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/builder/StAXOMBuilder.java?rev=210053&r1=210052&r2=210053&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/builder/StAXOMBuilder.java (original)
+++ webservices/axis/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/builder/StAXOMBuilder.java Sun Jul 10 15:23:24 2005
@@ -127,6 +127,32 @@
return node;
}
+ protected OMNode createPI() throws OMException {
+ OMNode node;
+ String target = parser.getPITarget();
+ String data = parser.getPIData();
+ if (lastNode == null) {
+ node = omfactory.createText("<?" + target + " " + data + "?>");
+ node.setType(OMNode.PI_NODE);
+ document.addChild(node);
+ } else if (lastNode.isComplete()) {
+ node = omfactory.createText((OMElement)lastNode.getParent(), "<?" + target + " " + data + "?>");
+ node.setType(OMNode.PI_NODE);
+ lastNode.setNextSibling(node);
+ node.setPreviousSibling(lastNode);
+ } else if (lastNode instanceof OMText) {
+ node = omfactory.createText("<?" + target + " " + data + "?>");
+ node.setType(OMNode.PI_NODE);
+ lastNode.getParent().addChild(node);
+ } else {
+ OMElement e = (OMElement) lastNode;
+ node = omfactory.createText(e, "<?" + target + " " + data + "?>");
+ node.setType(OMNode.PI_NODE);
+ e.setFirstChild(node);
+ }
+ return node;
+ }
+
/**
* Method getOMEnvelope
*
@@ -191,7 +217,7 @@
createDTD();
break;
case XMLStreamConstants.PROCESSING_INSTRUCTION:
- next();
+ createPI();
break;
default :
throw new OMException();