The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

XML::Beautify - Beautifies XML output from XML::Writer (soon to do any XML).

SYNOPSIS

        B<WARNING:> This is Alpha Software. The interface is still subject to change. Oh, and keep backups, Doh!!!
        B<WARNING:> This does not do well with already indented and formatted XML. I am still working on that. I am currently just reprinting the original string with E<additional whitespace>. I need to fix this by actually rewriting the XML from the element level on down using something like XML::Writer but adding in the whitespace. See E<recursive...>, Doh!

        use XML::Beautify qw(:const); # imports three constants (YES,NO,FULL)
        $obj_ref = XML::Beautify->new();
        $cleanXML = $obj_ref->beautify(\$XMLstr);
        
        B<NB:> This uses Log::AndError for error handling and logging functions. 
        This is imported as an @ISA and so anything you can do there you can do here.

DESCRIPTION

Beautifies (converts to tree format) XML output from XML::Writer (soon to do any XML) to facilitate debugging XML or XML::Writer output.

METHODS

beautify()

Brown::Feeds::Entity::beutify()

Usage:
        $obj_ref->beautify(\$XML);
Purpose:

Parses the output of

Returns:

($ok, $error) where $ok is 1 on success. $error is a diagnostic error message.

indent_str()

XML::Beautify::indent_str()

Usage:
        $indent_str = $obj_ref->indent_str();  # To retrieve the current value
        or
    $obj_ref->indent_str("\t"); # To set a new value
Purpose:

Sets or gets the indent str.

Returns:

($indent_str) if set.

rem_cr()

XML::Beautify::rem_cr()

Usage:
        $indent_str = $obj_ref->rem_cr();  # To retrieve the current value
        or
    $obj_ref->rem_cr(1); # To set a new value
Purpose:

Sets or gets the option to clean CR from XML before re-formatting.

Returns:

(true) if set.

rem_ws()

XML::Beautify::rem_ws()

Usage:
        $indent_str = $obj_ref->rem_ws();  # To retrieve the current value
        or
    $obj_ref->rem_ws(1); # To set a new value
Purpose:

Sets or gets the option to clean whitespace (Outside of char and cData) from XML before re-formatting. NB: This will remove blank whitespace from char sections if that is all that the char data contains.

Returns:

(true) if set.

orig_indent()

XML::Beautify::orig_indent()

Usage:
        $indent_str = $obj_ref->orig_indent();  # To retrieve the current value
        or
    $obj_ref->orig_indent("\t"); # To set a new value
Purpose:

Sets or gets the original value for the indent incrementer. NB: Beware of setting this.

Returns:

($indent_str) if set.

HISTORY

See Changes file in distribution

TODO

  • Deal with already formatted or mis-formatted XML.

  • Along those lines... Seriously consider reformatting each element in the XML from the data variable returned with the callback function instead of trying to miraculously use the original string.

  • Take an array ref, FH, etc; in addition to the scalar ref as an arg to beautify().

  • Better documentation.

  • Replace static variables. (process started in ver 0.03)

  • See if the current state tracking can be replaced with context(), current_element(), in_element() functions from expat. (Related to above about statics)

AUTHOR

    Thomas Bolioli <Thomas_Bolioli@alumni.adelphi.edu>

COPYRIGHT

Copyright (c) 2001 Thomas Bolioli. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

SEE ALSO

  • Log::AndError

  • Log::AndError::Constants

  • XML::Parser::Expat

1 POD Error

The following errors were encountered while parsing the POD:

Around line 710:

=over without closing =back