.\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .if !\nF .nr F 0 .if \nF>0 \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "Publican::XmlClean 3pm" .TH Publican::XmlClean 3pm "2018-07-08" "perl v5.26.2" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" Publican::XmlClean \- A module to reformat XML to Publican standards .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& 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 } ); \& } .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" Publican::XmlClean tidies \s-1XML\s0 formatting and filters structure based on input rules. .SH "INTERFACE" .IX Header "INTERFACE" .SS "new" .IX Subsection "new" Create a new Publican::XmlClean object. .SS "print_known_tags" .IX Subsection "print_known_tags" Print a list of tags that have had their output \s-1QA\s0'd. .SS "prune_xml($node)" .IX Subsection "prune_xml($node)" Remove unwanted nodes. i.e. 'profile' in DocBook speak. .SS "Clean_ID" .IX Subsection "Clean_ID" Rename \s-1ID\s0's and update xrefs. .PP If this node has a title as a child set it's \s-1ID\s0 else remove the \s-1ID\s0 .SS "print_xml" .IX Subsection "print_xml" Print out utf8 \s-1XML\s0 files .PP Have to output xml/DTD header .SS "my_as_XML" .IX Subsection "my_as_XML" Traverse tree and output xml as text. Overrides traverse ... evil stuff. .SS "validate_tables" .IX Subsection "validate_tables" Ensure Tables comply to requirements not enforceable in \s-1XML\s0 validation. .PP 1. tgroup attribute cols must match the number of entries in every row. .SS "process_file" .IX Subsection "process_file" Create XML::TreeBuilder object and perform operations. .SS "set_unique_ids" .IX Subsection "set_unique_ids" Set unique ids for every nodes which have id .SS "create_db" .IX Subsection "create_db" Create a database to track the max unique id .SH "DIAGNOSTICS" .IX Header "DIAGNOSTICS" .ie n .IP """unknown args %s""" 4 .el .IP "\f(CWunknown args %s\fR" 4 .IX Item "unknown args %s" All subs with named parameters will return this error when unexpected named arguments are provided. .ie n .IP """%s is a required argument""" 4 .el .IP "\f(CW%s is a required argument\fR" 4 .IX Item "%s is a required argument" Any sub with a mandatory parameter will return this error if the parameter is undef. .ie n .IP """Could not open %s for output!""" 4 .el .IP "\f(CWCould not open %s for output!\fR" 4 .IX Item "Could not open %s for output!" The named file could not be opened. .ie n .IP """Can\*(Aqt calculate image size of %s""" 4 .el .IP "\f(CWCan\*(Aqt calculate image size of %s\fR" 4 .IX Item "Cant 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. .SH "CONFIGURATION AND ENVIRONMENT" .IX Header "CONFIGURATION AND ENVIRONMENT" Publican::XmlClean requires no configuration files or environment variables. .SH "DEPENDENCIES" .IX Header "DEPENDENCIES" Carp version XML::TreeBuilder Text::Wrap Config::Simple Publican File::Path Term::ANSIColor Cwd .SH "INCOMPATIBILITIES" .IX Header "INCOMPATIBILITIES" None reported. .SH "BUGS AND LIMITATIONS" .IX Header "BUGS AND LIMITATIONS" No bugs have been reported. .PP Please report any bugs or feature requests to \&\f(CW\*(C`publican\-list@redhat.com\*(C'\fR, or through the web interface at . .SH "AUTHOR" .IX Header "AUTHOR" Jeff Fearn \f(CW\*(C`\*(C'\fR