<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="MS Exchange Server version 5.5.2653.12">
<TITLE>RE: [jdom-interest] DTD-aware document building</TITLE>
</HEAD>
<BODY>

<P><FONT SIZE=2>i do the same with xml schema. But it's a pain parsing</FONT>
<BR><FONT SIZE=2>and creating document which confirms to the schema.</FONT>
<BR><FONT SIZE=2>Is there anything that can build the document based on</FONT>
<BR><FONT SIZE=2>the schema ?</FONT>
<BR><FONT SIZE=2>Also everytime i need to get the element and set the </FONT>
<BR><FONT SIZE=2>value for the same.</FONT>
<BR><FONT SIZE=2>I am just wondering if hastable would be much faster</FONT>
<BR><FONT SIZE=2>when compared to the list implementation we presently</FONT>
<BR><FONT SIZE=2>have in jdom</FONT>
</P>

<P><FONT SIZE=2>mani</FONT>
</P>

<P><FONT SIZE=2>-----Original Message-----</FONT>
<BR><FONT SIZE=2>From: Frank Spychalski [<A HREF="mailto:psycho@sitewaerts.de">mailto:psycho@sitewaerts.de</A>]</FONT>
<BR><FONT SIZE=2>Sent: Wednesday, January 02, 2002 10:05 PM</FONT>
<BR><FONT SIZE=2>To: 'jdom-interest@jdom.org'</FONT>
<BR><FONT SIZE=2>Subject: AW: [jdom-interest] DTD-aware document building</FONT>
</P>
<BR>

<P><FONT SIZE=2>Hi,</FONT>
</P>

<P><FONT SIZE=2>AFAIK there's no such method. </FONT>
</P>

<P><FONT SIZE=2>But how about adding all required children (your 'attributes') in the</FONT>
<BR><FONT SIZE=2>correct order after creating the Router element (and setting them to some</FONT>
<BR><FONT SIZE=2>default value) and changing these in your setRouterAttribute method.</FONT>
</P>

<P><FONT SIZE=2>just my 2 cents</FONT>
<BR><FONT SIZE=2>Frank</FONT>
</P>

<P><FONT SIZE=2>-----Ursprüngliche Nachricht-----</FONT>
<BR><FONT SIZE=2>Von: Proneel Guptan [<A HREF="mailto:proneel@dset.com">mailto:proneel@dset.com</A>]</FONT>
<BR><FONT SIZE=2>Gesendet: Mittwoch, 2. Januar 2002 17:08</FONT>
<BR><FONT SIZE=2>An: 'jdom-interest@jdom.org'</FONT>
<BR><FONT SIZE=2>Betreff: [jdom-interest] DTD-aware document building</FONT>
</P>
<BR>

<P><FONT SIZE=2>Hi, </FONT>
<BR><FONT SIZE=2>I couldnt find anything in the archives which answers the following question</FONT>
<BR><FONT SIZE=2>I have, hence the posting. </FONT>
<BR><FONT SIZE=2>I have a DTD with a type defined as follows: </FONT>
<BR><FONT SIZE=2>&lt;!ELEMENT Router (id , type , routerId , routerName&nbsp; .... ) </FONT>
<BR><FONT SIZE=2>When I want to construct a brand new document of type Router, I do the</FONT>
<BR><FONT SIZE=2>following: </FONT>
<BR><FONT SIZE=2>doc = new Document(new Element(&quot;Router&quot;)); </FONT>
<BR><FONT SIZE=2>After which, I get values from the client for id, type, routerId etc. I may</FONT>
<BR><FONT SIZE=2>not get it in the order defined in the DTD. </FONT>
<BR><FONT SIZE=2>For eg: my generic method setRouterAttribute(String name, String value)</FONT>
<BR><FONT SIZE=2>would simply: </FONT>
<BR><FONT SIZE=2>Element child = new Element(name); </FONT>
<BR><FONT SIZE=2>child.setText(value); </FONT>
<BR><FONT SIZE=2>rootElement.addContent(child); // where rootElement is the root of the</FONT>
<BR><FONT SIZE=2>&quot;Router&quot; document I created </FONT>
<BR><FONT SIZE=2>Depending on the order the client calls the setRouterAttribute() to set the</FONT>
<BR><FONT SIZE=2>id, type etc, that is the order in which </FONT>
<BR><FONT SIZE=2>the document would be created and if this doesnt match the DTD, the document</FONT>
<BR><FONT SIZE=2>would be invalid. I do not want to </FONT>
<BR><FONT SIZE=2>hard-code into my client the order in which the calls should be made, I'd</FONT>
<BR><FONT SIZE=2>much rather want the document builder to </FONT>
<BR><FONT SIZE=2>do that automatically, so that if I change the order of fields in the DTD, I</FONT>
<BR><FONT SIZE=2>dont need to change my client program also.</FONT>
<BR><FONT SIZE=2>Is there any JDOM method, which when I add a child to a node, adds it in the</FONT>
<BR><FONT SIZE=2>correct position as defined by the DTD? </FONT>
<BR><FONT SIZE=2>Before JDOM, I used a home grown tool which did that and which I found very</FONT>
<BR><FONT SIZE=2>convenient. However, from reading up on </FONT>
<BR><FONT SIZE=2>various Java&amp;XML tools, I get the impression I belong to (probably) a</FONT>
<BR><FONT SIZE=2>minority among XML users who think that DTD </FONT>
<BR><FONT SIZE=2>or schema aware document manipulation (as shown by the above example) is</FONT>
<BR><FONT SIZE=2>essential. </FONT>
<BR><FONT SIZE=2>Any comments/clarifications? </FONT>
<BR><FONT SIZE=2>Thanks, </FONT>
<BR><FONT SIZE=2>Proneel. </FONT>
<BR><FONT SIZE=2>proneel@dset.com </FONT>
</P>

<P><FONT SIZE=2>&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;</FONT>
<BR><FONT SIZE=2>sitewaerts GmbH</FONT>
<BR><FONT SIZE=2>Hebelstraße 15</FONT>
<BR><FONT SIZE=2>D-76133 Karlsruhe</FONT>
</P>

<P><FONT SIZE=2>Tel: +49 (721) 920 918 0</FONT>
<BR><FONT SIZE=2>Fax: +49 (721) 920 918 29</FONT>
<BR><FONT SIZE=2><A HREF="http://www.sitewaerts.de" TARGET="_blank">http://www.sitewaerts.de</A></FONT>
<BR><FONT SIZE=2>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;</FONT>
</P>
<BR>

<P><FONT SIZE=2>_______________________________________________</FONT>
<BR><FONT SIZE=2>To control your jdom-interest membership:</FONT>
<BR><FONT SIZE=2><A HREF="http://lists.denveronline.net/mailman/options/jdom-interest/youraddr@yourhost.com" TARGET="_blank">http://lists.denveronline.net/mailman/options/jdom-interest/youraddr@yourhost.com</A></FONT>
</P>

</BODY>
</HTML>