<!DOCTYPE class>
<class name='Instruction' extends='Child'>
   Represents an XML Instruction; IE, &lt;? ... ?&gt;
  <attribute name='target' type='accessor'>
     target is the "name" of the Instruction; IE, the "tag" in &lt;?tag ...?&gt; content is everything else.
  </attribute>
  <attribute name='content' type='accessor'>
     target is the "name" of the Instruction; IE, the "tag" in &lt;?tag ...?&gt; content is everything else.
  </attribute>
  <method name='initialize'>
    <argument name='target'>
      can be one of a number of things.  If String, then  the target of this instruction is set to this.  If an Instruction, then the Instruction is shallowly cloned (target and content are copied).  If a Source, then the source is scanned and parsed for an Instruction declaration. 
    </argument>
    <argument default='nil' name='content'>
      Must be either a String, or a Parent.  Can only be a Parent if the target argument is a Source.  Otherwise, this String is set as the content of this instruction.
    </argument>
     Constructs a new Instruction 
  </method>
  <method name='clone'/>
  <method name='write'>
    <argument name='writer'/>
    <argument default='0' name='indent'/>
  </method>
  <method name='=='>
    <argument name='other'/>
    <return>
      true if other is an Instruction, and the content and target of the other matches the target and content of this object.
    </return>
     
  </method>
  <method name='Instruction'>
    <argument name='parse_stream source'/>
    <argument name='listener'/>
  </method>
</class>