Details
-
Type:
Bug
-
Status:
Resolved
-
Priority:
Major
-
Resolution: Fixed
-
Labels:None
-
Number of attachments :
Description
XML:
<?xml version="1.0"?>
<foo>
<bar>baz
<cheese id="3"/>
baz
<cheese/>
baz
</bar>
<doc><![CDATA[<foo>]]></doc>
</foo>
Events:
SPACE: [
]
START_ELEMENT: foo:foo
CHARACTERS: [
]
START_ELEMENT: bar:bar
CHARACTERS: [baz
]
START_ELEMENT: cheese:cheese
END_ELEMENT: cheese:cheese
CHARACTERS: [
baz
]
START_ELEMENT: cheese:cheese
END_ELEMENT: cheese:cheese
CHARACTERS: [
baz
]
END_ELEMENT: bar:bar
CHARACTERS: [
]
START_ELEMENT: doc:doc
CHARACTERS: [<foo>]
END_ELEMENT: doc:doc
CHARACTERS: [
]
END_ELEMENT: foo:foo
END_DOCUMENT:
I expect a XMLStreamConstants.CDATA for <![CDATA[<foo>]]> but getting XMLStreamConstants.CHARACTERS instead.
thanks,
dims
Here's the patch:
Index: src/com/bea/xml/stream/MXParser.java
===================================================================
— src/com/bea/xml/stream/MXParser.java (revision 45)
+++ src/com/bea/xml/stream/MXParser.java (working copy)
@@ -1487,7 +1487,8 @@
return (eventType == XMLStreamConstants.CHARACTERS
+
+
}
@@ -1680,7 +1681,7 @@
{ if( !usePC && hadCharData ) needsMerging = true; }} else
+ if(tokenize) return eventType = XMLStreamConstants.CDATA;
} else {
throw new XMLStreamException(
"unexpected character in markup "+printable(ch),