REXML::Instruction (Class)

In: rexml/instruction.rb
Parent: Child

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

Methods

==   clone   new   node_type   write  

Constants

START = '<\?'
STOP = '\?>'

Attributes

content  [RW]  target is the "name" of the Instruction; IE, the "tag" in <?tag …?> content is everything else.
target  [RW]  target is the "name" of the Instruction; IE, the "tag" in <?tag …?> content is everything else.

Public Class methods

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.

[Source]

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

Public Instance methods

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

[Source]

# File rexml/instruction.rb, line 52
                def ==( other )
                        other.kind_of? Instruction and
                        other.target == @target and
                        other.content == @content
                end

[Source]

# File rexml/instruction.rb, line 37
                def clone
                        Instruction.new self
                end

[Source]

# File rexml/instruction.rb, line 58
    def node_type
      :processing_instruction
    end

[Source]

# File rexml/instruction.rb, line 41
                def write writer, indent=-1, transitive=false, ie_hack=false
                        indent(writer, indent)
                        writer << START.sub(/\\/u, '')
                        writer << @target
                        writer << ' '
                        writer << @content
                        writer << STOP.sub(/\\/u, '')
                end

[Validate]