Class: REXML::CData
Constant Summary collapse
- START =
'<![CDATA['- STOP =
']]>'- ILLEGAL =
/(\]\]>)/
Constants inherited from Text
Text::EREFERENCE, Text::NUMERICENTITY, Text::REFERENCE, Text::SETUTITSBUS, Text::SLAICEPS, Text::SPECIALS, Text::SUBSTITUTES
Instance Attribute Summary
Attributes inherited from Text
Attributes inherited from Child
Instance Method Summary collapse
-
#clone ⇒ Object
Make a copy of this object.
-
#initialize(first, whitespace = true, parent = nil) ⇒ CData
constructor
Constructor.
-
#to_s ⇒ Object
Returns the content of this CData object.
- #value ⇒ Object
-
#write(output = $stdout, indent = -1,, transitive = false, ie_hack = false) ⇒ Object
Generates XML output of this object.
Methods inherited from Text
#<<, #<=>, #empty?, #indent_text, #inspect, #node_type, normalize, read_with_substitution, unnormalize, #value=, #wrap, #write_with_substitution, #xpath
Methods inherited from Child
#bytes, #document, #next_sibling=, #previous_sibling=, #remove, #replace_with
Methods included from Node
#each_recursive, #find_first_recursive, #indent, #index_in_parent, #next_sibling_node, #parent?, #previous_sibling_node
Constructor Details
#initialize(first, whitespace = true, parent = nil) ⇒ CData
Constructor. CData is data between
Examples CData.new( source ) CData.new( "Here is some CDATA" ) CData.new( "Some unprocessed data", respect_whitespace_TF, parent_element )
15 16 17 |
# File 'lib/rexml/cdata.rb', line 15 def initialize( first, whitespace=true, parent=nil ) super( first, whitespace, parent, true, true, ILLEGAL ) end |
Instance Method Details
#clone ⇒ Object
Make a copy of this object
Examples c = CData.new( "Some text" ) d = c.clone d.to_s # -> "Some text"
25 26 27 |
# File 'lib/rexml/cdata.rb', line 25 def clone CData.new self end |
#to_s ⇒ Object
Returns the content of this CData object
Examples c = CData.new( "Some text" ) c.to_s # -> "Some text"
34 35 36 |
# File 'lib/rexml/cdata.rb', line 34 def to_s @string end |
#value ⇒ Object
38 39 40 |
# File 'lib/rexml/cdata.rb', line 38 def value @string end |
#write(output = $stdout, indent = -1,, transitive = false, ie_hack = false) ⇒ Object
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 ) #->
65 66 67 68 69 70 |
# File 'lib/rexml/cdata.rb', line 65 def write( output=$stdout, indent=-1, transitive=false, ie_hack=false ) #indent( output, indent ) unless transitive output << START output << @string output << STOP end |