Class: REXML::Text

Class REXML::Text |
In: | rexml/text.rb
Parent: | Child

Represents text in an XML document

Methods

<=> clone new normalize parse_stream pull read_with_substitution to_s unnormalize write write_with_substitution

Attributes

:raw | [RW] |
:string | [R] | string is String content, raw is a boolean

Included modules

Comparable

Public Class methods

new(arg, respect_whitespace=false, parent=nil, pattern=PATTERN, raw=false)

Constructor @param arg if a String, the content is set to the String. If a Text, the object is shallowly cloned. If a Source, the source is parsed for text content up to the next element. If a parent, the parent of this object is set to the argument. @param whitespace (boolean, optional) if true, whitespace is respected @param parent (Parent, optional) if given, the parent of this object will be set to the argument

parse_stream(source, listener)

pull(source)

read_with_substitution( input, illegal=nil )

Reads text, substituting entities

normalize( input, doctype=nil )

unnormalize( string, doctype=nil, illegal=nil )

Public Instance methods

clone()

<=>( other )

@param other a String or a Text @return the result of (to_s <=> arg.to_s)

to_s()

Returns an UNNORMALIZED value; IE, entities that can be replaced have been replaced.

write( writer, indent=-1 )

remove write_with_substitution; what we want to do is read and save the raw input. When the users ask for the string, we do the conversion then. When we write, we write back out the raw string. Thus we avoid changing the user's text, and speed everything up!

write_with_substitution(out, input)

Writes out text, substituting special characters beforehand. @param out A String, IO, or any other object supporting <<( String ) @param input the text to substitute and the write out

z=utf8.unpack("U*") ascOut="" z.each{|r|

      if r <  0x100
        ascOut.concat(r.chr)
      else
        ascOut.concat(sprintf("&#x%x;", r))
      end

} puts ascOut