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

### Methods

clone new to_s write

### Constants

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

### Public Class methods

new( first, whitespace=true, parent=nil )

        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 rexml/cdata.rb, line 15
                    def initialize( first, whitespace=true, parent=nil )
                            super( first, whitespace, parent, true, true, ILLEGAL )
                    end

### Public Instance methods

clone()

Make a copy of this object

Examples

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

[Source]

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

to_s()

Returns the content of this CData object

Examples

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

[Source]

    # File rexml/cdata.rb, line 34
                    def to_s
                            @string
                    end

write( output=$stdout, indent=-1, transitive=false, ie_hack=false )

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 rexml/cdata.rb, line 61
                    def write( output=$stdout, indent=-1, transitive=false, ie_hack=false )
          #indent( output, indent ) unless transitive
                            output << START
                            output << @string
                            output << STOP
                    end

[Validate]