Class REXML::CData
In: lib/rexml/cdata.rb
Parent: Text

Methods

clone   new   to_s   value   write  

Constants

START = '<![CDATA['
STOP = ']]>'
ILLEGAL = /(\]\]>)/

Public Class methods

    Constructor.  CData is data between <![CDATA[ ... ]]>

Examples

 CData.new( source )
 CData.new( "Here is some CDATA" )
 CData.new( "Some unprocessed data", respect_whitespace_TF, parent_element )

[Source]

    # File lib/rexml/cdata.rb, line 15
15:                 def initialize( first, whitespace=true, parent=nil )
16:                         super( first, whitespace, parent, true, true, ILLEGAL )
17:                 end

Public Instance methods

Make a copy of this object

Examples

 c = CData.new( "Some text" )
 d = c.clone
 d.to_s        # -> "Some text"

[Source]

    # File lib/rexml/cdata.rb, line 25
25:                 def clone
26:                         CData.new self
27:                 end

Returns the content of this CData object

Examples

 c = CData.new( "Some text" )
 c.to_s        # -> "Some text"

[Source]

    # File lib/rexml/cdata.rb, line 34
34:                 def to_s
35:                         @string
36:                 end

[Source]

    # File lib/rexml/cdata.rb, line 38
38:     def value
39:       @string
40:     end

Generates XML output of this object

output:Where to write the string. Defaults to $stdout
indent:An integer. If -1, no indenting will be used; otherwise, the indentation will be this number of spaces, and children will be indented an additional amount. Defaults to -1.
transitive:If transitive is true and indent is >= 0, then the output will be pretty-printed in such a way that the added whitespace does not affect the absolute value of the document — that is, it leaves the value and number of Text nodes in the document unchanged.
ie_hack:Internet Explorer is the worst piece of crap to have ever been written, with the possible exception of Windows itself. Since IE is unable to parse proper XML, we have to provide a hack to generate XML that IE‘s limited abilities can handle. This hack inserts a space before the /> on empty tags.

Examples

 c = CData.new( " Some text " )
 c.write( $stdout )     #->  <![CDATA[ Some text ]]>

[Source]

    # File lib/rexml/cdata.rb, line 65
65:                 def write( output=$stdout, indent=-1, transitive=false, ie_hack=false )
66:       #indent( output, indent ) unless transitive
67:                         output << START
68:                         output << @string
69:                         output << STOP
70:                 end

[Validate]