home *** CD-ROM | disk | FTP | other *** search
- =head1 NAME
-
- XML::LibXML::Text - XML::LibXML Class for Text Nodes
-
- =head1 SYNOPSIS
-
- $text = XML::LibXML::Text->new( $content );
- $nodedata = $text->data;
- $text->setData( $text_content );
- $text->substringData($offset, $length);
- $text->appendData( $somedata );
- $text->insertData($offset, $string);
- $text->deleteData($offset, $length);
- $text->deleteDataString($remstring, $all);
- $text->replaceData($offset, $length, $string);
- $text->replaceDataString($old, $new, $flag);
- $text->replaceDataRegEx( $search_cond, $replace_cond, $reflags );
-
-
- =head1 DESCRIPTION
-
- Different to the DOM specification XML::LibXML implements the text node as the
- base class of all character data node. Therefor there exists no CharacterData
- class. This allow one to use all methods that are available for textnodes as
- well for Comments or CDATA-sections.
-
- =over 4
-
- =item B<new>
-
- $text = XML::LibXML::Text->new( $content );
-
- The constuctor of the class. It creates an unbound text node.
-
-
-
- =back
-
- =over 4
-
- =item B<data>
-
- $nodedata = $text->data;
-
- Although there exists the nodeValue attribute in the Node class, the DOM
- specification defines data as a separate attribute. XML::LibXML implements
- these two attributes not as different attributes, but as aliases, such as
- libxml2 does. Therefore
-
- $text->data;
-
- and
-
- $text->nodeValue;
-
- will have the same result and are not different entities.
-
-
-
- =back
-
- =over 4
-
- =item B<setData($string)>
-
- $text->setData( $text_content );
-
- This function sets or replaces text content to a node. The node has to be of
- the type "text", "cdata" or "comment".
-
-
-
- =back
-
- =over 4
-
- =item B<substringData($offset,$length)>
-
- $text->substringData($offset, $length);
-
- Extracts a range of data from the node. (DOM Spec) This function takes the two
- parameters $offset and $length and returns the substring if available.
-
- If the node contains no data or $offset referes to an nonexisting string index,
- this function will return undef. If $length is out of range substringData will
- return the data starting at $offset instead of causing an error.
-
-
-
- =back
-
- =over 4
-
- =item B<appendData($string)>
-
- $text->appendData( $somedata );
-
- Appends a string to the end of the existing data. If the current text node
- contains no data, this function has the same effect as setData.
-
-
-
- =back
-
- =over 4
-
- =item B<insertData($offset,$string)>
-
- $text->insertData($offset, $string);
-
- Inserts the parameter $string at the given $offset of the existing data of the
- node. This operation will not remove existing data, but change the order of the
- existing data.
-
- The $offset has to be a positive value. If $offset is out of range, insertData
- will have the same behaviour as appendData.
-
-
-
- =back
-
- =over 4
-
- =item B<deleteData($offset, $length)>
-
- $text->deleteData($offset, $length);
-
- This method removes a chunk from the existing node data at the given offset.
- The $length parameter tells, how many characters should be removed from the
- string.
-
-
-
- =back
-
- =over 4
-
- =item B<deleteDataString($string, [$all])>
-
- $text->deleteDataString($remstring, $all);
-
- This method removes a chunk from the existing node data. Since the DOM spec is
- quite unhandy if you already know which string to remove from a text node, this
- method allows more perlish code :)
-
- The functions takes two parameters: $string and optional the $all flag. If $all
- is not set, undef or 0, deleteDataString will remove only the first occourance
- of $string. If $all is TRUE deleteDataString will remove all occourences of
- $string from the node data.
-
-
-
- =back
-
- =over 4
-
- =item B<replaceData($offset, $length, $string)>
-
- $text->replaceData($offset, $length, $string);
-
- The DOM style version to replace node data.
-
-
-
- =back
-
- =over 4
-
- =item B<replaceDataString($oldstring, $newstring, [$all])>
-
- $text->replaceDataString($old, $new, $flag);
-
- The more programmer friendly version of replaceData() :)
-
- Instead of giving offsets and length one can specify the exact string
- ($oldstring) to be replaced. Additionally the $all flag allows to replace all
- occourences of $oldstring.
-
-
-
- =back
-
- =over 4
-
- =item B<replaceDataRegEx( $search_cond, $replace_cond, $reflags )>
-
- $text->replaceDataRegEx( $search_cond, $replace_cond, $reflags );
-
- This method replaces the node's data by a simple regular expression. Optional,
- this function allows to pass some flags that will be added as flag to the
- replace statement.
-
- NOTE: This is a shortcut for
-
- my $datastr = $node->getData();
- $datastr =~ s/somecond/replacement/g; # 'g' is just an example for any flag
- $node->setData( $datastr );
-
- This function can make things easier to read for simple replacements. For more
- complex variants it is recommented to use the code snippet above.
-
-
-
- =back
-
- =head1 AUTHORS
-
- Matt Sergeant,
- Christian Glahn,
- =head1 VERSION
-
- 1.56
-
- =head1 COPYRIGHT
-
- 2001-2002, AxKit.com Ltd; 2001-2003 Christian Glahn, All rights reserved.
-
- =cut
-