.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" 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" '' '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 turned on, 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. .ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .el \{\ . de IX .. .\} .\" .\" 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::Builder 3pm" .TH Publican::Builder 3pm "2012-06-18" "perl v5.14.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::Builder \- A module to Convert XML to various output formats .SH "VERSION" .IX Header "VERSION" This document describes Publican::Builder version 0.1 .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 3 \& use Publican::Builder; \& my $builder = Publican::Builder\->new(); \& $builder\->clean_ids(); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" Manipulate \s-1XML\s0 and convert to other formats. .SH "INTERFACE" .IX Header "INTERFACE" .SS "new" .IX Subsection "new" Create a new Publican::XmlBuilder object. .SS "build" .IX Subsection "build" Transform the source in to another format. .PP Valid formats: eclipse epub html html-single html-desktop man pdf txt .SS "setup_xml" .IX Subsection "setup_xml" Create the proper directory structure for the \s-1XML\s0, including copying in Brand files. .SS "del_unwanted_dirs" .IX Subsection "del_unwanted_dirs" Callback that deletes all unwanted directories from the given directory tree. Used to delete \s-1CVS\s0 and \s-1SVN\s0 files from the working directories. .SS "del_unwanted_xml" .IX Subsection "del_unwanted_xml" Callback that deletes all unwanted xml from the given directory tree. .SS "validate_xml" .IX Subsection "validate_xml" Ensure the \s-1XML\s0 validates against the \s-1DTD\s0. .PP To debug the \s-1XML\s0 catalogs .PP export XML_DEBUG_CATALOG=1 .PP test... .PP unset \s-1XML_DEBUG_CATALOG\s0 .SS "transform" .IX Subsection "transform" Run \s-1XSLT\s0 over \s-1XML\s0 .SS "clean_ids" .IX Subsection "clean_ids" Travers over the source \s-1XML\s0 and update the id's to match the standard format. .PP Updates all existing \s-1PO\s0 files with the new xref links. .SS "adjustColumnWidths" .IX Subsection "adjustColumnWidths" Adjust column widths for \s-1XML\s0 Tables. Converts hard coded and relative withs to percentages. .PP Based on xsl\-stylesheets\-1.74.3/html/dtbl.xsl .PP .Vb 9 \& Get all the colwidth, NULL == * == 1* \& Convert $table_width to pt \& Convert all hard coded widths to pt \& $total_relative_width = $table_width \& subtract hard coded widths from $total_relative_width \& convert hard coded withs to a % of $table_width \& total all relative widths \& convert relative widths to a proportion of $total_relative_width \& convert relative widths to a % of $table_width .Ve .PP \&\s-1FO\s0 input: .PP \&\*(L"\en\en\en\en\en\*(R" .PP \&\s-1HTML\s0 input: .PP \&\*(L"\en\en\*(R" .PP Returns: modified input tree which is \s-1XHTML\s0 or \s-1XML:FO\s0 .SS "highlight" .IX Subsection "highlight" perl_highlight syntax highlighting .PP Edit highlight_color template in pdf.xsl and .perl_XXX in \s-1CSS\s0 to change highlight colours .PP Returns: Modified input tree, which is DocBook \s-1XML\s0. .SS "insertCallouts" .IX Subsection "insertCallouts" \&\s-1XSLT\s0 callout function for inserting Callout markup in to verbatim text. .PP Parameters: areaspec: the DocBook areaspec node set verbatim: the \s-1XHTML/XML:FO\s0 tree to place gfx in .PP Returns: modified \f(CW$verbatim\fR .PP \&\s-1BUGBUG:\s0 \s-1BZ\s0 #561618 \&\s-1BUGBUG:\s0 The approach taken here does not work for tagged content in the verbatim. \&\s-1BUGBUG:\s0 Need to walk the node tree in childnode instead of using it as a string. \&\s-1BUGBUG:\s0 make sure class is being set .SS "numberLines" .IX Subsection "numberLines" perl_numberLines \s-1XSL\s0 function for numbering lines. .PP Returns: Modified input tree, which is DocBook \s-1XML\s0. .SS "package_brand" .IX Subsection "package_brand" Create the structure for the distributed files and save it as a tar.gz file .SS "package_home" .IX Subsection "package_home" Package a book for use as a Publican Website home page. .SS "build_rpm" .IX Subsection "build_rpm" Build an srpm for books and brands. .SS "package" .IX Subsection "package" Create the structure for the distributed files and save it as a tar.gz file .PP Creates \s-1RPM\s0 Specfile and build \s-1SRPM\s0. .PP \&\s-1TODO:\s0 Consider handling other package formats, deb etc. .SS "web_labels" .IX Subsection "web_labels" Determine if the labels use in the web navigation are different from the names used for packaging. .SS "change_log" .IX Subsection "change_log" Generate an \s-1RPM\s0 style change log from \f(CW$xml_lang\fR/Revision_History.xml .SS "get_books" .IX Subsection "get_books" Fetch all the books for a set from a repo. .PP Supported Repos: \s-1SVN\s0 .SS "build_set_books" .IX Subsection "build_set_books" Prepare \s-1XML\s0 from sub books for Remote Sets .SS "dtd_string" .IX Subsection "dtd_string" Returns a valid \s-1DTD\s0 for the DocBook tag supplied. .PP Parameters: tag The root tag for this file dtdver The \s-1DTD\s0 version ent_file An entity file to include (optional) .SS "\s-1NAME\s0" .IX Subsection "NAME" Description .PP # my \f(CW$lang\fR = delete( \f(CW$args\fR\->{lang} ) || croak(maketext(\*(L"lang is a mandatory argument\*(R")); # # if ( %{$args} ) { # croak( maketext(\*(L"unknown arguments: [_1]\*(R", join( \*(L", \*(R", keys %{$arg}) )); # } .PP .Vb 2 \& return; \&} .Ve .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. .SH "CONFIGURATION AND ENVIRONMENT" .IX Header "CONFIGURATION AND ENVIRONMENT" Publican requires no configuration files or environment variables. .SH "DEPENDENCIES" .IX Header "DEPENDENCIES" Carp version Config::Simple Publican Publican::XmlClean Publican::Translate File::Copy::Recursive File::Path File::pushd File::Find XML::LibXSLT XML::LibXML Cwd Archive::Tar DateTime DateTime::Format::DateParse Syntax::Highlight::Engine::Kate HTML::TreeBuilder HTML::FormatText Term::ANSIColor \&\s-1POSIX\s0 .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