Class REXML::Instruction
In: lib/rexml/instruction.rb
Parent: Child

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

Methods

==   clone   inspect   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 lib/rexml/instruction.rb, line 24
24:                 def initialize(target, content=nil)
25:                         if target.kind_of? String
26:                                 super()
27:                                 @target = target
28:                                 @content = content
29:                         elsif target.kind_of? Instruction
30:                                 super(content)
31:                                 @target = target.target
32:                                 @content = target.content
33:                         end
34:                         @content.strip! if @content
35:                 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 lib/rexml/instruction.rb, line 56
56:                 def ==( other )
57:                         other.kind_of? Instruction and
58:                         other.target == @target and
59:                         other.content == @content
60:                 end

[Source]

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

[Source]

    # File lib/rexml/instruction.rb, line 66
66:     def inspect
67:       "<?p-i #{target} ...?>"
68:     end

[Source]

    # File lib/rexml/instruction.rb, line 62
62:     def node_type
63:       :processing_instruction
64:     end

DEPRECATED

See the rexml/formatters package

[Source]

    # File lib/rexml/instruction.rb, line 44
44:                 def write writer, indent=-1, transitive=false, ie_hack=false
45:       Kernel.warn( "#{self.class.name}.write is deprecated" )
46:                         indent(writer, indent)
47:                         writer << START.sub(/\\/u, '')
48:                         writer << @target
49:                         writer << ' '
50:                         writer << @content
51:                         writer << STOP.sub(/\\/u, '')
52:                 end

[Validate]