<!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>&nbsp;</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>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Kind regards,</FONT></DIV>
<DIV><FONT face=Arial size=2>&nbsp;&nbsp;&nbsp; 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>&gt;&gt;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 &gt;&gt;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 
  &gt;&gt;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>&lt;root&gt;</FONT> 
  <BR><FONT face=sans-serif size=2>&nbsp; &lt;a&gt;</FONT> <BR><FONT 
  face=sans-serif size=2>&nbsp; &nbsp; &lt;x&gt;</FONT> <BR><FONT 
  face=sans-serif size=2>&nbsp; &nbsp; &nbsp; &nbsp;&lt;z/&gt;</FONT> <BR><FONT 
  face=sans-serif size=2>&nbsp; &nbsp; &nbsp;&lt;/x&gt;</FONT> <BR><FONT 
  face=sans-serif size=2>&nbsp; &nbsp; &lt;y/&gt;</FONT> <BR><FONT 
  face=sans-serif size=2>&nbsp; &lt;/a&gt;</FONT> <BR><FONT face=sans-serif 
  size=2>&nbsp; &lt;b/&gt;</FONT> <BR><FONT face=sans-serif 
  size=2>&lt;/root&gt;</FONT> <BR><BR><FONT face=sans-serif size=2>root calls 
  addChildren</FONT> <BR><FONT face=sans-serif size=2>&nbsp; &nbsp;add Children 
  adds a to root and then calls add children (to a)</FONT> <BR><FONT 
  face=sans-serif size=2>&nbsp; &nbsp; &nbsp; &nbsp; add children adds x to a 
  then calls add children (to x)</FONT> <BR><FONT face=sans-serif size=2>&nbsp; 
  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; add children adds z to x</FONT> <BR><FONT 
  face=sans-serif size=2>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; exit 
  method</FONT> <BR><FONT face=sans-serif size=2>&nbsp; &nbsp; &nbsp; &nbsp; add 
  children adds y to a</FONT> <BR><FONT face=sans-serif size=2>&nbsp; &nbsp; 
  &nbsp; &nbsp; exit method</FONT> <BR><FONT face=sans-serif size=2>&nbsp; add 
  children adds b to root</FONT> <BR><FONT face=sans-serif size=2>&nbsp; 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>