logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Publican::XmlClean - A module to reformat XML to Publican standards

Author

       Jeff Fearn  "<jfearn@redhat.com>"

perl v5.40.1                                       2025-03-14                            Publican::XmlClean(3pm)

Bugs And Limitations

       No bugs have been reported.

       Please report any bugs or feature requests to "publican-list@redhat.com", or through the web interface at
       <https://bugzilla.redhat.com/bugzilla/enter_bug.cgi?product=Publican&component=publican>.

Configuration And Environment

       Publican::XmlClean requires no configuration files or environment variables.

Dependencies

       Carp version XML::TreeBuilder Text::Wrap Config::Simple Publican File::Path Term::ANSIColor Cwd

Description

       Publican::XmlClean tidies XML formatting and filters structure based on input rules.

Diagnostics

       "unknown args %s"
           All subs with named parameters will return this error when unexpected named arguments are provided.

       "%s is a required argument"
           Any sub with a mandatory parameter will return this error if the parameter is undef.

       "Could not open %s for output!"
           The named file could not be opened.

       "Can't calculate image size of %s"
           Images  are  automatically scaled if thy are to wide, this check could not be performed due to either
           access permissions or file weirdness.

Incompatibilities

       None reported.

Interface

new
       Create a new Publican::XmlClean object.

   print_known_tags
       Print a list of tags that have had their output QA'd.

   prune_xml($node)
       Remove unwanted nodes. i.e. 'profile' in DocBook speak.

   Clean_ID
       Rename ID's and update xrefs.

       If this node has a title as a child set it's ID else remove the ID

   print_xml
       Print out utf8 XML files

       Have to output xml/DTD header

   my_as_XML
       Traverse tree and output xml as text. Overrides traverse ... evil stuff.

   validate_tables
       Ensure Tables comply to requirements not enforceable in XML validation.

       1. tgroup attribute cols must match the number of entries in every row.

   process_file
       Create XML::TreeBuilder object and perform operations.

   set_unique_ids
       Set unique ids for every nodes which have id

   create_db
       Create a database to track the max unique id

Name

       Publican::XmlClean - A module to reformat XML to Publican standards

Synopsis

           use Publican::XmlClean;

           my $cleaner = Publican::XmlClean->new( { clean_id => 1 } );

           foreach my $xml_file ( sort(@xml_files) ) {
               $cleaner->process_file( { file => $xml_file, out_file => $xml_file } );
           }

See Also