File: rexml/cdata.rb

Overview
Module Structure
Class Hierarchy
Code

Overview

Module Structure

  module: <Toplevel Module>
  module: REXML#3
  class: CData#4
inherits from
  Text ( REXML )
has properties
constant: START #5
constant: STOP #6
constant: ILLEGAL #7
method: initialize / 3 #15
method: clone #25
method: to_s #34
method: value #38
method: write / 4 #59

Class Hierarchy

Object ( Builtin-Module )
Child ( REXML )
Text ( REXML )
  CData    #4

Code

   1  require "rexml/text"
   2 
   3  module REXML
   4    class CData < Text
   5      START = '<![CDATA['
   6      STOP = ']]>'
   7      ILLEGAL = /(\]\]>)/
   8 
   9      # Constructor.  CData is data between <![CDATA[ ... ]]>
  10      #
  11      # _Examples_
  12      #  CData.new( source )
  13      #  CData.new( "Here is some CDATA" )
  14      #  CData.new( "Some unprocessed data", respect_whitespace_TF, parent_element )
  15      def initialize( first, whitespace=true, parent=nil )
  16        super( first, whitespace, parent, true, true, ILLEGAL )
  17      end
  18 
  19      # Make a copy of this object
  20      # 
  21      # _Examples_
  22      #  c = CData.new( "Some text" )
  23      #  d = c.clone
  24      #  d.to_s        # -> "Some text"
  25      def clone
  26        CData.new self
  27      end
  28 
  29      # Returns the content of this CData object
  30      #
  31      # _Examples_
  32      #  c = CData.new( "Some text" )
  33      #  c.to_s        # -> "Some text"
  34      def to_s
  35        @string
  36      end
  37 
  38      def value
  39        @string
  40      end
  41 
  42      # == DEPRECATED
  43      # See the rexml/formatters package
  44      #
  45      # Generates XML output of this object
  46      #
  47      # output::
  48      #   Where to write the string.  Defaults to $stdout
  49      # indent::
  50      #   The amount to indent this node by
  51      # transitive::
  52      #   Ignored
  53      # ie_hack::
  54      #   Ignored
  55      #
  56      # _Examples_
  57      #  c = CData.new( " Some text " )
  58      #  c.write( $stdout )     #->  <![CDATA[ Some text ]]>
  59      def write( output=$stdout, indent=-1, transitive=false, ie_hack=false )
  60        Kernel.warn( "#{self.class.name}.write is deprecated" )
  61        indent( output, indent )
  62        output << START
  63        output << @string
  64        output << STOP
  65      end
  66    end
  67  end