<?xml version='1.0' encoding='ISO-8859-1'?>
 <!DOCTYPE xmlsource SYSTEM "xmlsource.dtd">

 <xmlsource>
 <node><content line="1">package myPkg</content></node>
 <node><content line="3">// Import statements</content></node>
 <node><content line="4">import java.io.*</content></node>
 <node><content line="5">import java.util.*</content></node>

 <node><content line="7">// Local variables</content></node>
 <node><content line="8">String myVar</content></node>
 <node><content line="9">String myInt</content></node>

 <node><content line="11"><![CDATA[/**
   An API comment with HTML.
   <p>
   With a list:
   <ul>
     <li>Item 1
     <li>Item 2
   </ul>

   @author  eric armstrong
   @version 1.0
 ]]></content></node>

 <node><content line="23"><![CDATA[public class MyClass extends SomeClass
 implements Serializable]]></content>

   <node><content line="26"><![CDATA[/**
     The constructor.
     
     @param foo one arg
     @param bar 2nd arg
     @see #method1 
   ]]></content></node> 
   <node><content line="34">public MyClass(int foo, String bar)</content>
     <node><content line="35">if (foo == 1)</content>
       <node><content line="36">// Do one thing</content></node>
       <node><content line="37">myVar = bar</content></node>
     </node> <!--(if)-->
     <node><content line="38">else if (foo == 2)</content>
       <node><content line="39">// Do second thing</content></node>
       <node><content line="40">myVar = Integer.parseint(foo)</content></node>
     </node> <!--(else)-->
     <node><content line="42">myInt = foo</content></node>
   </node> <!--(Constructor)-->

   <node><content line="45"><![CDATA[/* 
     A normal comment that explains how
     the method works:
       a. It does one thing.
       b. It does another.
   ]]></content></node> 
   <node><content line="51">String method1()</content>
     <node><content line="52">/* Commented out code</content>
       <node><content line="53">if (myVar == "")</content>
         <node><content line="54">System.out.println("Unexpected error")
                                  </content></node>
         <node><content line="55">System.out.println("  --No value")
                                  </content></node>
       </node> <!--(if)-->
     </node> <!--(comment)-->
     <node><content line="58"><![CDATA[
       if (myInt >= 0 
       && myInt < 5)
     ]]></content>
       <node><content line="60"><![CDATA[//
         This conditional includes && and < symbols 
         And it uses my favorite line breaks
       ]]></content></node>
       <node><content line="62">return "fly"</content></node>  
     </node> <!--(if)-->
     <node><content line="64">return myVar</content></node> 
   </node> <!--(method1)-->

   <node><content line="67"><![CDATA[//                  
      A comment that contains multiple lines
      of text, to explain how the method works.
        a. It does one thing.
        b. It does another.
   ]]></content></node> 
   <node><content line="71">String method2()</content>
     <node><content line="72"><![CDATA[//
       Another way of commenting out code
       if (myVar == "") {
         System.out.println("Unexpected error");
         System.out.println("  --No value");
       }
     ]]></content></node>                                       
     <node><content line="77">return myVar</content></node> 
   </node> <!--(method2)-->
 </node>  <!--(MyClass)-->
 </xmlsource>
