You are viewing a plain text version of this content. The canonical link for it is here.
Posted to j-dev@xerces.apache.org by bu...@apache.org on 2002/08/13 15:15:33 UTC
DO NOT REPLY [Bug 11659] New: -
Extra nodes generated after parsing with DOMASBuilder
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=11659>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND
INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=11659
Extra nodes generated after parsing with DOMASBuilder
Summary: Extra nodes generated after parsing with DOMASBuilder
Product: Xerces2-J
Version: 2.0.2
Platform: Sun
OS/Version: Solaris
Status: NEW
Severity: Major
Priority: Other
Component: XML Schema Structures
AssignedTo: xerces-j-dev@xml.apache.org
ReportedBy: n.betteridge@syntactics.com
CC: n.betteridge@syntactics.com
I'm not too sure if this is a bug.
I create a parser, read in the sample schema (personal-schema.xml) from
the distribution, then read in the data (personal.xml). When I traverse
the document, I get an extra text node per each element node.
DOMImplementationAS domImpl =
(DOMImplementationAS)ASDOMImplementationImpl.getDOMImplementation();
DOMASBuilder parser = domImpl.createDOMASBuilder();
xmlDocument = parser.parseURI(...xml);
Element rootXMLNode = xmlDocument.getDocumentElement();
dumpNode(rootXMLNode);
void dumpNode(Node node) {
if (node.getNodeType() == Node.TEXT_NODE &&
!node.getNodeValue().equals(""))
System.out.println(node.getNodeName() + " -> '" +
node.getNodeValue()+"'");
else {
System.out.println(node.getNodeName());
NodeList childList = node.getChildNodes();
int numChildren = childList.getLength();
for(int i=0;i<numChildren;i++) {
Node childNode = (Node)childList.item(i);
dumpNode(childNode);
}
}
}
Snip of data (personal.xml)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE personnel SYSTEM "personal.dtd">
<personnel>
<person id="Big.Boss">
<name><family>Boss</family> <given>Big</given></name>
<email>chief@foo.com</email>
<link subordinates="one.worker two.worker three.worker four.worker
five.worker"/>
</person>
<person id="one.worker">
<name><family>Worker</family> <given>One</given></name>
<email>one@foo.com</email>
<link manager="Big.Boss"/>
</person>
<person id="two.worker">
<name><family>Worker</family> <given>Two</given></name>
<email>two@foo.com</email>
<link manager="Big.Boss"/>
</person>
---------
Gives .....
ELEMENT_NODE
personnel
TEXT_NODE
#text -> '
'
ELEMENT_NODE
person
TEXT_NODE
#text -> '
'
ELEMENT_NODE
name
ELEMENT_NODE
family
TEXT_NODE
#text -> 'Boss'
TEXT_NODE
#text -> ' '
ELEMENT_NODE
given
TEXT_NODE
#text -> 'Big'
TEXT_NODE
#text -> '
'
ELEMENT_NODE
email
TEXT_NODE
#text -> 'chief@foo.com'
TEXT_NODE
#text -> '
'
ELEMENT_NODE
link
TEXT_NODE
#text -> '
'
TEXT_NODE
#text -> '
'
ELEMENT_NODE
person
TEXT_NODE
#text -> '
'
ELEMENT_NODE
name
ELEMENT_NODE
family
TEXT_NODE
#text -> 'Worker'
TEXT_NODE
#text -> ' '
ELEMENT_NODE
given
TEXT_NODE
#text -> 'One'
TEXT_NODE
#text -> '
'
ELEMENT_NODE
email
TEXT_NODE
#text -> 'one@foo.com'
TEXT_NODE
#text -> '
'
ELEMENT_NODE
link
TEXT_NODE
#text -> '
'
TEXT_NODE
#text -> '
'
ELEMENT_NODE
person
TEXT_NODE
#text -> '
'
ELEMENT_NODE
name
ELEMENT_NODE
family
TEXT_NODE
#text -> 'Worker'
TEXT_NODE
#text -> ' '
ELEMENT_NODE
given
TEXT_NODE
#text -> 'Two'
TEXT_NODE
#text -> '
'
ELEMENT_NODE
email
TEXT_NODE
#text -> 'two@foo.com'
TEXT_NODE
#text -> '
'
ELEMENT_NODE
link
TEXT_NODE
#text -> '
'
TEXT_NODE
#text -> '
'
ELEMENT_NODE
person
TEXT_NODE
#text -> '
'
ELEMENT_NODE
name
ELEMENT_NODE
family
TEXT_NODE
#text -> 'Worker'
TEXT_NODE
#text -> ' '
ELEMENT_NODE
given
TEXT_NODE
#text -> 'Three'
TEXT_NODE
#text -> '
'
ELEMENT_NODE
email
TEXT_NODE
#text -> 'three@foo.com'
TEXT_NODE
#text -> '
'
ELEMENT_NODE
link
TEXT_NODE
#text -> '
'
TEXT_NODE
#text -> '
'
ELEMENT_NODE
person
TEXT_NODE
#text -> '
'
ELEMENT_NODE
name
ELEMENT_NODE
family
TEXT_NODE
#text -> 'Worker'
TEXT_NODE
#text -> ' '
ELEMENT_NODE
given
TEXT_NODE
#text -> 'Four'
TEXT_NODE
#text -> '
'
ELEMENT_NODE
email
TEXT_NODE
#text -> 'four@foo.com'
TEXT_NODE
#text -> '
'
ELEMENT_NODE
link
TEXT_NODE
#text -> '
'
TEXT_NODE
#text -> '
'
ELEMENT_NODE
person
TEXT_NODE
#text -> '
'
ELEMENT_NODE
name
ELEMENT_NODE
family
TEXT_NODE
#text -> 'Worker'
TEXT_NODE
#text -> ' '
ELEMENT_NODE
given
TEXT_NODE
#text -> 'Five'
TEXT_NODE
#text -> '
'
ELEMENT_NODE
email
TEXT_NODE
#text -> 'five@foo.com'
TEXT_NODE
#text -> '
'
ELEMENT_NODE
link
TEXT_NODE
#text -> '
'
TEXT_NODE
#text -> '
'
---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-j-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-j-dev-help@xml.apache.org