In Files

  • rexml/instruction.rb

Class/Module Index [+]



Represents an XML Instruction; IE, <? … ?> TODO: Add parent arg (3rd arg) to constructor





target is the “name” of the Instruction; IE, the “tag” in <?tag …?> content is everything else.


target is the “name” of the Instruction; IE, the “tag” in <?tag …?> content is everything else.

Public Class Methods

new(target, content=nil) click to toggle source

Constructs a new Instruction @param 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. @param 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.

               # File rexml/instruction.rb, line 24
def initialize(target, content=nil)
        if target.kind_of? String
                @target = target
                @content = content
        elsif target.kind_of? Instruction
                @target =
                @content = target.content
        @content.strip! if @content

Public Instance Methods

==( other ) click to toggle source

@return true if other is an Instruction, and the content and target of the other matches the target and content of this object.

               # File rexml/instruction.rb, line 56
def ==( other )
        other.kind_of? Instruction and == @target and
        other.content == @content
clone() click to toggle source
               # File rexml/instruction.rb, line 37
def clone self
inspect() click to toggle source
               # File rexml/instruction.rb, line 66
def inspect
  "<?p-i #{target} ...?>"
node_type() click to toggle source
               # File rexml/instruction.rb, line 62
def node_type
write(writer, indent=-1, transitive=false, ie_hack=false) click to toggle source


See the rexml/formatters package

               # File rexml/instruction.rb, line 44
          def write writer, indent=-1, transitive=false, ie_hack=false
Kernel.warn( "#{}.write is deprecated" )
                  indent(writer, indent)
                  writer << START.sub(/\/u, '')
                  writer << @target
                  writer << ' '
                  writer << @content
                  writer << STOP.sub(/\/u, '')

Commenting is here to help enhance the documentation. For example, code samples, or clarification of the documentation.

If you have questions about Ruby or the documentation, please post to one of the Ruby mailing lists. You will get better, faster, help that way.

If you wish to post a correction of the docs, please do so, but also file bug report so that it can be corrected for the next release. Thank you.

If you want to help improve the Ruby documentation, please visit