ABCDEFGHIJKLMNOPQRSTUVWXYZ

XML::Grove::AsString

XML::Grove::AsString(3User Contributed Perl DocumentatiXML::Grove::AsString(3)



NAME
       XML::Grove::AsString - output content of XML objects as a string

SYNOPSIS
        use XML::Grove::AsString;

        # Using as_string method on XML::Grove::Document or XML::Grove::Element:
        $string = $xml_object->as_string OPTIONS;
        $string = $element->attr_as_string $attr, OPTIONS;

        # Using an XML::Grove::AsString instance:
        $writer = new XML::Grove::AsString OPTIONS;

        $string = $writer->as_string($xml_object);
        $writer->as_string($xml_object, $file_handle);

DESCRIPTION
       Calling `"as_string"' on an XML object returns the character data con-
       tents of that object as a string, including all elements below that
       object.  Calling `"attr_as_string"' on an element returns the contents
       of the named attribute as a string.  Comments, processing instructions,
       and, by default, entities all return an empty string.

       OPTIONS may either be a key-value list or a hash containing the options
       described below.  OPTIONS may be modified directly in the object.  The
       default options are no filtering and entities are mapped to empty
       strings.

OPTIONS
       Filter
           `"Filter"' is an anonymous sub that gets called to process charac-
           ter data before it is appended to the string to be returned.  This
           can be used, for example, to escape characters that are special in
           output formats.  The `"Filter"' sub is called like this:

               $string = &$filter ($character_data);

       EntityMap
           `"EntityMap"' is an object that accepts `"lookup"' methods or an
           anonymous sub that gets called with the entity replacement text
           (data) and mapper options as arguments and returns the correspond-
           ing character replacements.  It is called like this if it is an
           object:

               $replacement_text = $entity_map->lookup ($entity_data,
                                                        $entity_map_options);

           or this if it is a sub:

               $replacement_text = &$entity_map ($entity_data,
                                                 $entity_map_options);

       EntityMapOptions
           `"EntityMapOptions"' is a hash passed through to the `"lookup"'
           method or anonymous sub, the type of value is defined by the entity
           mapping package or the anonymous sub.

       EntityMapFilter
           `"EntityMapFilter"' is a flag to indicate if mapped entities should
           be filtered after mapping.

EXAMPLES
       Here is an example of entity mapping using the Text::EntityMap module:

           use Text::EntityMap;
           use XML::Grove::AsString;

           $html_iso_dia = Text::EntityMap->load ('ISOdia.2html');
           $html_iso_pub = Text::EntityMap->load ('ISOpub.2html');
           $html_map = Text::EntityMap->group ($html_iso_dia,
                                               $html_iso_pub);

           $element->as_string (EntityMap => $html_map);

AUTHOR
       Ken MacLeod, ken@bitsko.slc.ut.us

SEE ALSO
       perl(1), XML::Grove(3)

       Extensible Markup Language (XML) <http://www.w3c.org/XML>



perl v5.8.0                       1999-08-25           XML::Grove::AsString(3)