You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by di...@apache.org on 2005/07/10 23:30:08 UTC

svn commit: r210043 - /webservices/axis/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/builder/StAXOMBuilder.java

Author: dims
Date: Sun Jul 10 14:30:06 2005
New Revision: 210043

URL: http://svn.apache.org/viewcvs?rev=210043&view=rev
Log:
Fix comment processing and pi processing


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=210043&r1=210042&r2=210043&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 14:30:06 2005
@@ -89,6 +89,30 @@
     }
 
     /**
+     * Method createOMText
+     *
+     * @return
+     * @throws OMException
+     */
+    protected OMNode createComment() throws OMException {
+        OMNode node;
+        if (lastNode == null) {
+            node = omfactory.createText(parser.getText());
+            document.addChild(node);
+        } else if (lastNode.isComplete()) {
+            node = omfactory.createText((OMElement)lastNode.getParent(), parser.getText());
+            lastNode.setNextSibling(node);
+            node.setPreviousSibling(lastNode);
+        } else {
+            OMElement e = (OMElement) lastNode;
+            node = omfactory.createText(e, parser.getText());
+            e.setFirstChild(node);
+        }
+        node.setType(OMNode.COMMENT_NODE);
+        return node;
+    }
+
+    /**
      * Method createDTD
      *
      * @return
@@ -161,14 +185,14 @@
                     next();
                     break;
                 case XMLStreamConstants.COMMENT:
-                    lastNode = createOMText();
-                    lastNode.setType(OMNode.COMMENT_NODE);
+                    createComment();
                     break;
                 case XMLStreamConstants.DTD:
                     createDTD();
                     break;
                 case XMLStreamConstants.PROCESSING_INSTRUCTION:
-                    throw new OMException();
+                    next();
+                    break;
                 default :
                     throw new OMException();
             }