def instruct!(directive_tag=:xml, attrs={})
      _ensure_no_block ::Kernel::block_given?
      if directive_tag == :xml
        a = { :version=>"1.0", :encoding=>"UTF-8" }
        attrs = a.merge attrs
	@encoding = attrs[:encoding].downcase
      end
      _special(
        "<?#{directive_tag}",
        "?>",
        nil,
        attrs,
        [:version, :encoding, :standalone])
    end
def instruct!(directive_tag=:xml, attrs={})
      _ensure_no_block ::Kernel::block_given?
      if directive_tag == :xml
        a = { :version=>"1.0", :encoding=>"UTF-8" }
        attrs = a.merge attrs
	@encoding = attrs[:encoding].downcase
      end
      _special(
        "<?#{directive_tag}",
        "?>",
        nil,
        attrs,
        [:version, :encoding, :standalone])
    end
Insert a processing instruction into the XML markup.  E.g.

 For example:

    xml.instruct!
        #=> <?xml version="1.0" encoding="UTF-8"?>
    xml.instruct! :aaa, :bbb=>"ccc"
        #=> <?aaa bbb="ccc"?>

 Note: If the encoding is setup to "UTF-8" and the value of
 $KCODE is "UTF8", then builder will emit UTF-8 encoded strings
 rather than the entity encoding normally used.