svg_validate - This script scans a directory full of *.svg files and checks them to see if they have proper metadata. If so, it copies them into a target directory and creates a png of it. It also creates a list of PASS and FAIL for the different criteria.


svg_validate [OPTIONS] subdir1[, subdir2...]

 -V, --version     Displays version info for the script
 -h, --help        This help screen
 -D, --debug=N     Reports debugging info (1=sparse, 3=tons)
 -n, --noclobber   Don't overwrite existing files
 -t, --target_dir  Specifies where files should be placed
     --passfail    Just generate the passfail file (still buggy)


This script is an example of use of SVG::Metadata for processing sets of SVG files, selecting the ones that have proper metadata, and placing them into a separate directory tree. It generates and places PNG's of each image as well as a text summary file with the metadata info.

The purpose of this script is to assist in building the release packages for the Open Clip Art Library (


-V, --version

Displays the version information about the script.

-h, --help

Prints a brief help message with option summary.

-D N, --debug=N

Prints debug messages. This expects a numerical argument corresponding to the debug message verbosity.

-n, --noclobber

Permits preventing any files to be overwritten during the processing. Normally, if there are existing files in the target directory, they'll be deleted (unlinked) and new ones written. With this option, the originals will be preserved and new ones will not be generated.

-t DIRECTORY, --target_dir DIRECTORY

This option allows control over where the output files will be written to. These files will include a copy of the SVG file, a PNG image rendered using inkscape, and a text file with a summary of the file's metadata. The files will be grouped into a subdirectory tree based on keywords.

The default target directory is 'default-0.00'.


This option allows you to skip generating the thumbnails and only produce the passfail report.


Pod::Usage, Getopt::Long, File::Basename, File::Copy, File::Find, File::Path, File::Spec, SVG::Metadata




Text Processing::Filters Utilities


None known.


SVG::Metadata, inkscape, XML::Simple


Bryce Harrington <>


Copyright (C) 2004 Bryce Harrington. All Rights Reserved.

This script is free software; you can redistribute it and/or modify it under the same terms as Perl itself.