Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

xml_pp(1) [centos man page]

XML_PP(1)						User Contributed Perl Documentation						 XML_PP(1)

NAME
xml_pp - xml pretty-printer SYNOPSYS
xml_pp [options] [<files>] DESCRIPTION
XML pretty printer using XML::Twig OPTIONS
-i[<extension>] edits the file(s) in place, if an extension is provided (no space between "-i" and the extension) then the original file is backed-up with that extension The rules for the extension are the same as Perl's (see perldoc perlrun): if the extension includes no "*" then it is appended to the original file name, If the extension does contain one or more "*" characters, then each "*" is replaced with the current filename. -s <style> the style to use for pretty printing: none, nsgmls, nice, indented, record, or record_c (see XML::Twig docs for the exact description of those styles), 'indented' by default -p <tag(s)> preserves white spaces in tags. You can use several "-p" options or quote the tags if you need more than one -e <encoding> use XML::Twig output_encoding (based on Text::Iconv or Unicode::Map8 and Unicode::String) to set the output encoding. By default the original encoding is preserved. If this option is used the XML declaration is updated (and created if there was none). Make sure that the encoding is supported by the parser you use if you want to be able to process the pretty_printed file (XML::Parser does not support 'latin1' for example, you have to use 'iso-8859-1') -l loads the documents in memory instead of outputing them as they are being parsed. This prevents a bug (see BUGS) but uses more memory -f <file> read the list of files to process from <file>, one per line -v verbose (list the current file being processed) -- stop argument processing (to process files that start with -) -h display help EXAMPLES
xml_pp foo.xml > foo_pp.xml # pretty print foo.xml xml_pp < foo.xml > foo_pp.xml # pretty print from standard input xml_pp -v -i.bak *.xml # pretty print .xml files, with backups xml_pp -v -i'orig_*' *.xml # backups are named orig_<filename> xml_pp -i -p pre foo.xhtml # preserve spaces in pre tags xml_pp -i.bak -p 'pre code' foo.xml # preserve spaces in pre and code tags xml_pp -i.bak -p pre -p code foo.xml # same xml_pp -i -s record mydb_export.xml # pretty print using the record style xml_pp -e utf8 -i foo.xml # output will be in utf8 xml_pp -e iso-8859-1 -i foo.xml # output will be in iso-8859-1 xml_pp -v -i.bak -f lof # pretty print in place files from lof xml_pp -- -i.xml # pretty print the -i.xml file xml_pp -l foo.xml # loads the entire file in memory # before pretty printing it xml_pp -h # display help BUGS
Elements with mixed content that start with an embedded element get an extra <elt><b>b</b>toto<b>bold</b></elt> will be output as <elt> <b>b</b>toto<b>bold</b></elt> Using the "-l" option solves this bug (but uses more memory) TODO
update XML::Twig to use Encode with perl 5.8.0 AUTHOR
Michel Rodriguez <mirod@xmltwig.com> perl v5.16.3 2012-11-14 XML_PP(1)

Check Out this Related Man Page

XML_GREP(1p)						User Contributed Perl Documentation					      XML_GREP(1p)

NAME
xml_grep - grep XML files looking for specific elements SYNOPSYS
xml_grep [options] <file list> or xml_grep <xpath expression> <file list> By default you can just give "xml_grep" an XPath expression and a list of files, and get an XML file with the result. This is equivalent to writing xml_grep --group_by_file file --pretty_print indented --cond <file list> OPTIONS
--help brief help message --man full documentation --Version display the tool version --root <cond> look for and return xml chunks matching <cond> if neither "--root" nor "--file" are used then the element(s) that trigger the "--cond" option is (are) used. If "--cond" is not used then all elements matching the <cond> are returned several "--root" can be provided --cond <cond> return the chunks (or file names) only if they contain elements matching <cond> several "--cond" can be provided (in which case they are OR'ed) --files return only file names (do not generate an XML output) usage of this option precludes using any of the options that define the XML output: "--roots", "--encoding", "--wrap", "--group_by_file" or "--pretty_print" --count return only the number of matches in each file usage of this option precludes using any of the options that define the XML output: "--roots", "--encoding", "--wrap", "--group_by_file" or "--pretty_print" --strict without this option parsing errors are reported to STDOUT and the file skipped --date when on (by default) the wrapping element get a "date" attribute that gives the date the tool was run. with "--nodate" this attribute is not added, which can be useful if you need to compare 2 runs. --encoding <enc> encoding of the xml output (utf-8 by default) --nb_results <nb> output only <nb> results --by_file output only <nb> results by file --wrap <tag> wrap the xml result in the provided tag (defaults to 'xml_grep') If wrap is set to an empty string ("--wrap ''") then the xml result is not wrapped at all. --nowrap same as using "--wrap ''": the xml result is not wrapped. --descr <string> attributes of the wrap tag (defaults to "version="<VERSION>" date="<date>"") --group_by_file <optional_tag> wrap results for each files into a separate element. By default that element is named "file". It has an attribute named "filename" that gives the name of the file. the short version of this option is -g --exclude <condition> same as using "-v" in grep: the elements that match the condition are excluded from the result, the input file(s) is (are) otherwise unchanged the short form of this option is -v --pretty_print <optional_style> pretty print the output using XML::Twig styles ('"indented"', '"record"' or '"record_c"' are probably what you are looking for) if the option is used but no style is given then '"indented"' is used short form for this argument is -s --text_only Displays the text of the results, one by line. --html Allow HTML input, files are converted using HTML::TreeBuilder --Tidy Allow HTML input, files are converted using HTML::Tidy Condition Syntax <cond> is an XPath-like expression as allowed by XML::Twig to trigger handlers. exemples: 'para' 'para[@compact="compact"]' '*[@urgent]' '*[@urgent="1"]' 'para[string()="WARNING"]' see XML::Twig for a more complete description of the <cond> syntax options are processedby Getopt::Long so they can start with '-' or '--' and can be abbreviated ("-r" instead of "--root" for example) DESCRIPTION
xml_grep does a grep on XML files. Instead of using regular expressions it uses XPath expressions (in fact the subset of XPath supported by XML::Twig) the results can be the names of the files or XML elements containing matching elements. SEE ALSO
XML::Twig Getopt::Long LICENSE
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. AUTHOR
Michel Rodriguez <mirod@xmltwig.com> perl v5.12.4 2011-02-26 XML_GREP(1p)
Man Page