The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

zip-x -- Simple zip/unzip utility with extra indentation features for XML members

SYNOPSIS

Extract a member from a ZIP archive, with XML indentation :

  zip-x -x <zip_archive_name> <member_name>
  
  # or in more verbose form
  
  zip-x -unzip -xml_indent -archive <zip_archive_name> -member <member_name>

Replace a member into a ZIP archive, removing XML indentation :

  zip-x -zip -xml_indent -archive <zip_archive_name> -member <member_name>

DESCRIPTION

This command-line utility extracts a single member from a ZIP archive, or replaces a single member into a ZIP archive. If the member is an XML file, automatic indentation or un-indentation will take place when the -x option is activated.

EMACS USAGE

The motivation for writing this small application was to be able to inspect MsOffice files from within Emacs on a Windows machine. It solves two problems :

  • unlike most common unzip programs on windows, the contents of the extracted member is piped to STDOUT. This is a requirement of the arc.el module in Emacs to be able to dynamically inspect a ZIP archive;

  • when the extracted member is an XML file, its content is nicely indented to make it readable by a human; without this feature, contents of MsOffice zipped files is hard to work with because this XML is packed on one single line without any spaces.

To tell Emacs to use this app, you must customize (ESC-x customize-variable) the following variables :

  • archive-zip-extract must be set to zip-x with options -u and -x.

  • archive-zip-update must be set to zip-x with options -z and -x.

AUTHOR

DAMI, <dami at cpan.org>