====== XML::Application::Config ====== ''XML::Application::Config'' is a perl module for handling ''XML'' based configuration files. Examples: #!/usr/bin/perl use strict; use XML::Application::Config; use Data::Dumper; my $xmlfilename = $ENV{HOME}."/.myApplication.xml"; my $cfg = XML::Application::Config->new("myApplication",$xmlfilename); my $login = $cfg->find('auth/login/@value'); my $passwd = $cfg->find('auth/password/@value'); my $optionscount = $cfg->find("count(optionlist/option)"); print "Options(#): '$optionscount'\n"; for (my $i=1; $i <= $optionscount; $i++) { my $name = $cfg->find("optionlist/option[$i]/\@name"); my $value = $cfg->find("optionlist/option[$i]/\@value"); $options->{$name} = $value; print " Option $i: '$name'='$value'\n"; } print Dumper($options); ===== bugs & wish list ===== * Replace XML::XPath by XML::LibXML2 (2015-02-23) * The statement allows only for including stuff from the same namespace. Sometimes access to arbitarary config trees of another application would be nice. Thinking about or similar. (2015-02-23) * Some variable replacement mechanism. Like and . Testcode currently runs in mkrepo. (2015-02-23) * Hierarchical config file processing: /etc/ first, ~/. next, ./. each overriding the settings from its predecessors. * ~ - expansion for xml-cfg-filename in new() would be nice (2015-09-10) === fixed bugs === * The .deb-package lacks the dependency of libxml-xpath-perl (2015-02-23) (fixed in 0.2.3.2) * manpage: missing like break in SYNOPSIS, (fixed in 0.2.3.2) * manpage: broken constructor call in SYNOPSIS (fixed in 0.2.3.2) * manpage: xpaths with leading / in SYNOPSIS (fixed in 0.2.3.2) * manpage: ~ - expansion is suggested, change examples to $ENV{HOME} (fixed in 0.2.3.2)