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

Represents text nodes in an XML document

### Methods

check normalize read_with_substitution unnormalize

### Included Modules

Comparable

### Constants

SPECIALS | = | [ /&(?!#?[\w-]+;)/u, /</u, />/u, /"/u, /'/u, /\r/u ] |  | The order in which the substitutions occur
SUBSTITUTES | = | ['&amp;', '&lt;', '&gt;', '&quot;', '&apos;', '&#13;']
SLAICEPS | = | [ '<', '>', '"', "'", '&' ] |  | Characters which are substituted in written strings
SETUTITSBUS | = | [ /&lt;/u, /&gt;/u, /&quot;/u, /&apos;/u, /&amp;/u ]
NEEDS_A_SECOND_CHECK | = | /(<|&((#{Entity::NAME});|(#0*((?:\d+)|(?:x[a-fA-F0-9]+)));)?)/um
NUMERICENTITY | = | /&#0*((?:\d+)|(?:x[a-fA-F0-9]+));/
VALID_CHAR | = | [ 0x9, 0xA, 0xD, (0x20..0xD7FF), (0xE000..0xFFFD), (0x10000..0x10FFFF)
VALID_XML_CHARS | = | Regexp.new('^['+ VALID_CHAR.map { |item| case item
VALID_XML_CHARS | = | /^( [\x09\x0A\x0D\x20-\x7E] # ASCII | [\xC2-\xDF][\x80-\xBF] # non-overlong 2-byte | \xE0[\xA0-\xBF][\x80-\xBF] # excluding overlongs | [\xE1-\xEC\xEE][\x80-\xBF]{2} # straight 3-byte | \xEF[\x80-\xBE]{2} # | \xEF\xBF[\x80-\xBD] # excluding U+fffe and U+ffff | \xED[\x80-\x9F][\x80-\xBF] # excluding surrogates | \xF0[\x90-\xBF][\x80-\xBF]{2} # planes 1-3 | [\xF1-\xF3][\x80-\xBF]{3} # planes 4-15 | \xF4[\x80-\x8F][\x80-\xBF]{2} # plane 16 )*$/x;

### Attributes

raw | [RW] | If `raw` is true, then REXML leaves the value alone

### Public Class methods

check(string, pattern, doctype)

check for illegal characters

normalize( input, doctype=nil, entity_filter=nil )

Escapes all possible entities

read_with_substitution( input, illegal=nil )

Reads text, substituting entities

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

Unescapes all possible entities

[Validate]