Hi,
The carriage return characters in your second example are represented in
the DOM tree as textnodes, hence the name #text, this could be a result
of your parser not removing those whitespace, I'm not exactly sure what
the spec. says about that.
You should also check on those nodes in your code, something like this
If (currentNode.getNodeType() != Node.TEXT_NODE) {
System.out.println(currentNode.getNodeName());
}
cheers,
Gertjan Assies
-----Original Message-----
From: Chisanga Mwelwa [mailto:sangz2000(_at_)hotmail(_dot_)com]
Sent: Tuesday, April 13, 2004 4:26 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Cc: xml-dev(_at_)lists(_dot_)xml(_dot_)org
Subject: [xsl] Using Java for DOM processing
Hi,
I am currently trying to get my head round using DOM with Java. In
particular I have been looking at the getNodeName() method. I have
noticed
that the format/layout
you present the XML document in, seems to have an effect on the way the
DOM
method (getNodeName) handles the XML document. Could someone enlighten
me on
this,
is this a bug or something normal and if so should I expect all DOM
methods
to process XML documents in a manner dependent on the XML format/layout?
Below I have presented a snippet of the Java code and XML document I am
dealing with to help you "digest" my problem. Your help is appreciated!
Java code snippet >>>
..
System.out.print( "Here is the document's root node:" );
System.out.println( " " + root.getNodeName() );
System.out.println( "Here are its child elements: " );
NodeList childNodes = root.getChildNodes();
Node currentNode;
..
for ( int i = 0; i < childNodes.getLength(); i++ ) {
currentNode = childNodes.item( i );
// print node name of each child element
System.out.println( currentNode.getNodeName());
}
..
This is the output I desire :
Here is the document's root node: article
Here are its child elements:
title
date
author
summary
content
The first child of root node is: title
whose next sibling is: date
value of date element is: April 13, 2004
Parent node of date is: article
I only get the above output when my XML file is presented as below:
<?xml version = "1.0"?>
<article><title>Simple XML</title><date>April 13,
2004</date><author><firstName>Tem</firstName><lastName>Nieto</lastName><
/author><summary>XML
is easy.</summary><content>Once you have mastered XHTML, you can easily
learn XML. You must remember that XML is not for displaying information
but
for managing information.</content></article>
When my XML file is foramtted as below this is the (unwanted) output I
get:
Here is the document's root node: article
Here are its child elements:
#text
title
#text
date
#text
author
#text
summary
#text
content
#text
The first child of root node is: #text
whose next sibling is: title
value of title element is: Simple XML
Parent node of title is: article
This is the XML layout I prefer to use, note each element is defined on
a
new line, unfortunately it gives me the (unwanted) output above i.e. the
#text:
<?xml version = "1.0"?>
<article>
<title>Simple XML</title>
<date>April 13, 2004</date>
<author>
<firstName>Tem</firstName>
<lastName>Nieto</lastName>
</author>
<summary>XML is easy.</summary>
<content>Once you have mastered XHTML, you can easily learn XML. You
must
remember that XML is not for displaying information but for managing
information.
</content>
</article>
_________________________________________________________________
Express yourself with cool new emoticons
http://www.msn.co.uk/specials/myemo
--+------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--+--
BackStream(R)
Willem de Zwijgerlaan 350-352
1055 RD Amsterdam
The Netherlands
tel. +31 20 386 8365
fax +31 20 386 8948
Post Office Address:
Postbus 58385
1040 HJ Amsterdam
BackStream: The Digital Delivery Company
www.backstream.com
This e-mail and any attachment may contain confidential and privileged material
intended for the addressee only. If you are not the addressee, you are notified
that no part of the e-mail or any attachment may be disclosed, copied or
distributed, and that any other action related to this e-mail or attachment is
strictly prohibited, and may be unlawful. If you have received this e-mail by
error, please notify the sender immediately by return e-mail, and delete this
message. BackStream, its subsidiaries and/or its employees shall not be liable
for the incorrect or incomplete transmission of this e-mail or any attachments,
nor responsible for any delay in receipt.