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

<P><FONT SIZE=2>What's the classpath look like for this servlet?</FONT>
</P>

<P><FONT SIZE=2>-----Original Message-----</FONT>
<BR><FONT SIZE=2>From: JStalnecker@idssinfo.com [<A HREF="mailto:JStalnecker@idssinfo.com">mailto:JStalnecker@idssinfo.com</A>]</FONT>
<BR><FONT SIZE=2>Sent: Thursday, March 08, 2001 10:39 AM</FONT>
<BR><FONT SIZE=2>To: jdom-interest@jdom.org</FONT>
<BR><FONT SIZE=2>Subject: [jdom-interest] Sealing violation</FONT>
</P>
<BR>

<P><FONT SIZE=2>I have just come across the jdom product thru an article on www.onjava.com</FONT>
<BR><FONT SIZE=2>at <A HREF="http://www.onjava.com/pub/a/onjava/2000/12/15/xslt_servlets.html" TARGET="_blank">http://www.onjava.com/pub/a/onjava/2000/12/15/xslt_servlets.html</A>.&nbsp; I</FONT>
<BR><FONT SIZE=2>have made some changes the servlet and class.&nbsp; I am also using my own XSL.</FONT>
<BR><FONT SIZE=2>When I run my servlet(code below) I get the following error:</FONT>
</P>

<P><FONT SIZE=2>java.lang.ClassNotFoundException: class JDomServlet2 :</FONT>
<BR><FONT SIZE=2>java.lang.SecurityException: sealing violation</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at java.beans.Beans.instantiate(Beans.java:215)</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at java.beans.Beans.instantiate(Beans.java:55)</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at</FONT>
<BR><FONT SIZE=2>com.caucho.server.http.Application.loadServlet(Application.java:1244)</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at</FONT>
<BR><FONT SIZE=2>com.caucho.server.http.Invocation.getServlet(Invocation.java:292)</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at</FONT>
<BR><FONT SIZE=2>com.caucho.server.http.AbstractRequest.service(AbstractRequest.java:409)</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at</FONT>
<BR><FONT SIZE=2>com.caucho.server.http.AbstractRequest.service(AbstractRequest.java:393)</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at</FONT>
<BR><FONT SIZE=2>com.caucho.server.http.PageCache$Entry.service(PageCache.java:252)</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.caucho.server.http.PageCache.service(PageCache.java:103)</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at</FONT>
<BR><FONT SIZE=2>com.caucho.server.http.VirtualHost.service(VirtualHost.java:395)</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.caucho.server.http.Request.dispatch(Request.java:211)</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at</FONT>
<BR><FONT SIZE=2>com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:201)</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at</FONT>
<BR><FONT SIZE=2>com.caucho.server.http.HttpRequest.handleConnection(HttpRequest.java,</FONT>
<BR><FONT SIZE=2>Compiled Code)</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.caucho.server.TcpConnection.run(TcpConnection.java,</FONT>
<BR><FONT SIZE=2>Compiled Code)</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at java.lang.Thread.run(Thread.java:479)</FONT>
</P>
<BR>

<P><FONT SIZE=2>import java.io.*;</FONT>
<BR><FONT SIZE=2>import javax.servlet.*;</FONT>
<BR><FONT SIZE=2>import javax.servlet.http.*;</FONT>
<BR><FONT SIZE=2>import org.apache.xalan.xslt.*;</FONT>
<BR><FONT SIZE=2>import org.jdom.*;</FONT>
<BR><FONT SIZE=2>import org.jdom.input.*;</FONT>
<BR><FONT SIZE=2>import org.jdom.output.*;</FONT>
</P>

<P><FONT SIZE=2>public class JDomServlet2 extends HttpServlet {</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp; // reuse the same processor over and over</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp; private XSLTProcessor processor = XSLTProcessorFactory.getProcessor(</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; new org.apache.xalan.xpath.xdom.XercesLiaison());</FONT>
</P>

<P><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ServletContext context = null;</FONT>
</P>

<P><FONT SIZE=2>&nbsp;&nbsp;&nbsp; // initialize the Servlet.&nbsp; This code is executed once.</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp; public void init(ServletConfig config) throws ServletException {</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; super.init(config);</FONT>
</P>

<P><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; context = config.getServletContext();</FONT>
</P>
<BR>

<P><FONT SIZE=2>&nbsp;&nbsp;&nbsp; }</FONT>
</P>

<P><FONT SIZE=2>&nbsp;&nbsp;&nbsp; // handle a single request from the client</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp; public void doGet(HttpServletRequest request,</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; HttpServletResponse response) throws IOException,</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ServletException {</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try {</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; HttpSession session = request.getSession(true);</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String xsltURL = request.getParameter(&quot;xsltURL&quot;);</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // read the XSLT stylesheet and cache it for future</FONT>
<BR><FONT SIZE=2>reuse</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; InputStream xsltStream = context.getResourceAsStream(xsltURL);</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; StylesheetRoot parsedStylesheet = processor.processStylesheet(</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; new XSLTInputSource(xsltStream));</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; processor.setStylesheet(parsedStylesheet);</FONT>
</P>

<P><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; response.setContentType(&quot;text/html&quot;);</FONT>
</P>

<P><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // in a real app, the CreditInfo object would be retrieved</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // from an EJB component</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CustomerInfo ci = new CustomerInfo(&quot;100014&quot;, &quot;123 Main</FONT>
<BR><FONT SIZE=2>Street&quot;, &quot;Suite 12345&quot;,</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;This is the third address line&quot;, &quot;Reading&quot;, &quot;PA&quot;,</FONT>
<BR><FONT SIZE=2>&quot;19607&quot;);</FONT>
</P>
<BR>

<P><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // convert the JDOM into DOM</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Document jdomDoc = ci.getDocument();</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; org.w3c.dom.Document domDoc =</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; new DOMOutputter().output(jdomDoc);</FONT>
</P>

<P><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // transform the XML into HTML</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; processor.process(new XSLTInputSource(domDoc),</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; null,&nbsp; // use pre-compiled stylesheet</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; new XSLTResultTarget(response.getWriter()));</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } catch (Exception ex) {</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ex.printStackTrace();</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp; }</FONT>
<BR><FONT SIZE=2>}</FONT>
</P>

<P><FONT SIZE=2>import java.io.*;</FONT>
<BR><FONT SIZE=2>import org.jdom.*;</FONT>
<BR><FONT SIZE=2>import org.jdom.output.*;</FONT>
<BR><FONT SIZE=2>import com.sun.java.util.collections.*;</FONT>
</P>

<P><FONT SIZE=2>/**</FONT>
<BR><FONT SIZE=2>&nbsp;* Example of an object that knows how to represent itself as</FONT>
<BR><FONT SIZE=2>&nbsp;* XML using JDOM.</FONT>
<BR><FONT SIZE=2>&nbsp;*</FONT>
<BR><FONT SIZE=2>&nbsp;* @author Eric M. Burke</FONT>
<BR><FONT SIZE=2>&nbsp;*/</FONT>
<BR><FONT SIZE=2>public class CustomerInfo implements Serializable {</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp; private String number;</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp; private String address1;</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp; private String address2;</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp; private String address3;</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp; private String city;</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp; private String state;</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp; private String zip;</FONT>
</P>

<P><FONT SIZE=2>&nbsp;&nbsp;&nbsp; // transient fields are not serialized.&nbsp; This prevents the potential</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp; // overhead of sending too much data between an EJB and the web tier</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp; private transient Document doc = null;</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp; private transient Element elem = null;</FONT>
</P>

<P><FONT SIZE=2>&nbsp;&nbsp;&nbsp; /**</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp; * Construct a new data object.</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp; */</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp; public CustomerInfo(String number, String address1, String address2,</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String address3, String city, String state, String zip) {</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.number = number;</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.address1 = address1;</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.address2 = address2;</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.address3 = address3;</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.city = city;</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.state = state;</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.zip = zip;</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp; }</FONT>
</P>

<P><FONT SIZE=2>&nbsp;&nbsp;&nbsp; /**</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp; * @return the contents of this object as an XML document.</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp; */</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp; public Document getDocument() {</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (this.doc == null) {</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.doc = new Document(getElement());</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return this.doc;</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp; }</FONT>
</P>

<P><FONT SIZE=2>&nbsp;&nbsp;&nbsp; /**</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp; * This method makes it possible to easily embed the output from</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp; * this data object into some other larger XML document.</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp; *</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp; * @return the contents of this object as an Element, which is just</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp; * the root element without the XML declaration.</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp; */</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp; public Element getElement() {</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (this.elem == null) {</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.elem = new Element(&quot;Customer&quot;);</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.elem = new Element(&quot;BillTo&quot;);</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.elem.addContent(new Element</FONT>
<BR><FONT SIZE=2>(&quot;BillTo&quot;).setText(this.number))</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .addContent(new Element(&quot;Number&quot;).setText(this.number))</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .addContent(new Element(&quot;Address1&quot;).setText(this.address1))</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .addContent(new Element(&quot;Address2&quot;).setText(this.address2))</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .addContent(new Element(&quot;Address3&quot;).setText(this.address3))</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .addContent(new Element(&quot;City&quot;).setText(this.city))</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .addContent(new Element(&quot;State&quot;).setText(this.state))</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .addContent(new Element(&quot;Zip&quot;).setText(this.zip));</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return this.elem;</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp; }</FONT>
</P>

<P><FONT SIZE=2>&nbsp;&nbsp;&nbsp; /**</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp; * A simple test program.</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp; */</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp; public static void main(String[] args) throws IOException {</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // create an object</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CustomerInfo ci = new CustomerInfo(&quot;100014&quot;, &quot;1234&quot;,</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;111-222-333&quot;, &quot;05/2000&quot;, &quot;ewrwer&quot;, &quot;qwe&quot;, &quot;2414&quot;);</FONT>
</P>

<P><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // convert to XML, then format with two space indent</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Document doc = ci.getDocument();</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; new XMLOutputter(&quot;&nbsp; &quot;, true).output(doc, System.out);</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp; }</FONT>
<BR><FONT SIZE=2>}</FONT>
</P>

<P><FONT SIZE=2>This is my first attempt at using XML,XSL,XSLT,JDOM, etc. any help would be</FONT>
<BR><FONT SIZE=2>greatly appreciated.</FONT>
</P>

<P><FONT SIZE=2>Thanks,</FONT>
<BR><FONT SIZE=2>Joy</FONT>
</P>

<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>