<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2800.1276" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>Ahh, that makes sense, i think i get most of it
now. What i'm trying to make is some application that takes 2 XML files and
tries to fuse them together semi-automatically. So the elemnts that are the same
get fused right away, and then the rest of the elements from the files is
listed, and one can select the elements that are the same but have different
names in different files and fuse them.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>I'm quite new at JDOM, so maybe someone of u has
some thoughts on this idea and can give me some tips, cause at the moment i
don't see where i can start with comparing the elements from 2 XML
documents.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Kind regards,</FONT></DIV>
<DIV><FONT face=Arial size=2> Joachim Albers</FONT></DIV>
<BLOCKQUOTE
style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
<DIV
style="BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: black"><B>From:</B>
<A title=Phill_Perryman@Mitel.COM
href="mailto:Phill_Perryman@Mitel.COM">Phill_Perryman@Mitel.COM</A> </DIV>
<DIV style="FONT: 10pt arial"><B>To:</B> <A title=jalbers@twc.sshunet.nl
href="mailto:jalbers@twc.sshunet.nl">J. Albers</A> </DIV>
<DIV style="FONT: 10pt arial"><B>Cc:</B> <A title=jdom-interest@jdom.org
href="mailto:jdom-interest@jdom.org">jdom-interest@jdom.org</A> </DIV>
<DIV style="FONT: 10pt arial"><B>Sent:</B> Tuesday, January 27, 2004 2:06
PM</DIV>
<DIV style="FONT: 10pt arial"><B>Subject:</B> Re: [jdom-interest] JTree</DIV>
<DIV><BR></DIV><BR><FONT face=Arial size=2>>>This works great. Though i
tried to figure out what is happening but can't quite get it. Could u maybe
explain what happens here(or point me to a site which >>explains it),
how is the tree like structure made? And why doesn't it work in my piece of
code? Als i wonder if it would be easy to also list the attributes and
>>labels?</FONT> <BR><BR><FONT face=sans-serif size=2>I don't know of
any site which explains it. The underlying principle is "Recursion".</FONT>
<BR><BR><FONT face=sans-serif size=2>You start with the root node and then
call a method to add the children, the method that adds a child calls a method
(actually itself) to add its own children (which calls itself again to add its
children, recursively) before moving onto the next element. Trying to work out
what level you are on and remember where you are in the tree hierarchy is a
nightmare to do when trying to represent it at a flat level. Because the
variables in the method call are local to it you can nest the calls without
having to keep track of where you are as you get one add children method call
per nested element.</FONT> <BR><BR><FONT face=sans-serif size=2>Don't know if
I can explain it much better.</FONT> <BR><BR><FONT face=sans-serif size=2>for
a document like</FONT> <BR><FONT face=sans-serif size=2><root></FONT>
<BR><FONT face=sans-serif size=2> <a></FONT> <BR><FONT
face=sans-serif size=2> <x></FONT> <BR><FONT
face=sans-serif size=2> <z/></FONT> <BR><FONT
face=sans-serif size=2> </x></FONT> <BR><FONT
face=sans-serif size=2> <y/></FONT> <BR><FONT
face=sans-serif size=2> </a></FONT> <BR><FONT face=sans-serif
size=2> <b/></FONT> <BR><FONT face=sans-serif
size=2></root></FONT> <BR><BR><FONT face=sans-serif size=2>root calls
addChildren</FONT> <BR><FONT face=sans-serif size=2> add Children
adds a to root and then calls add children (to a)</FONT> <BR><FONT
face=sans-serif size=2> add children adds x to a
then calls add children (to x)</FONT> <BR><FONT face=sans-serif size=2>
add children adds z to x</FONT> <BR><FONT
face=sans-serif size=2> exit
method</FONT> <BR><FONT face=sans-serif size=2> add
children adds y to a</FONT> <BR><FONT face=sans-serif size=2>
exit method</FONT> <BR><FONT face=sans-serif size=2> add
children adds b to root</FONT> <BR><FONT face=sans-serif size=2> exit
method</FONT> <BR><FONT face=sans-serif size=2>end calling sequence</FONT>
<BR><BR><FONT face=sans-serif size=2>The Java I base my development on is
attached if it is any use.</FONT> <BR><FONT face=sans-serif size=2>The tree
note uses the user objects toString method to display the tree node. That is
why I use an extended Element (Elementx) class so that I can override the
toString method in Element to provide the representation in the tree that I
want. There is a simple document viewer that shows the JTree formatting</FONT>
<BR><BR><BR></BLOCKQUOTE></BODY></HTML>