| Class | REXML::Instruction |
| In: |
lib/rexml/instruction.rb
|
| Parent: | Child |
Represents an XML Instruction; IE, <? … ?> TODO: Add parent arg (3rd arg) to constructor
| START | = | '<\?' |
| STOP | = | '\?>' |
| 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. |
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 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
@return true if other is an Instruction, and the content and target of the other matches the target and content of this object.
# 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
See the rexml/formatters package
# 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