# 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

new(target, content=nil)

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

clone()

[Source]

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

write(writer, indent=-1, transitive=false, ie_hack=false)

[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

==( other )

@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

node_type()

[Source]

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

[Validate]