---
name: "Publican::XmlClean"
section: "3pm"
platform: "linux"
package: "publican"
version: "4.3.2-5"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Publican::XmlClean"
---

# Publican::XmlClean(3pm)

A module to reformat XML to Publican standards

## 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 } );
    }
```

## DESCRIPTION

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

## 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

## 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.

## 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

## INCOMPATIBILITIES

None reported.

## 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\>.

## AUTHOR

Jeff Fearn  `"<jfearn@redhat.com>"`
