project:xml:application:config
This is an old revision of the document!
XML::Application::Config
XML::Application::Config
is a perl module for handling XML
based
configuration files.
Examples:
- .myApplication.xml
<?xml version="1.0" encoding="utf-8"?> <!-- Stand: Fri Mar 16 13:36:58 CET 2012 --> <applicationconfig version="0.2"> <application name="myApplication"> <hostname value="myHost.example.org" /> <auth> <login value="johndoe"/> <password value="secret"/> </auth> <optionlist> <option name="o1" value="I" /> <option name="o2" value="II" /> <option name="o3" value="III" /> </optionlist> </application> </applicationconfig>
- example.pl
#!/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
- The .deb-package lacks the dependency of libxml-xpath-perl (2015-02-23)
- Replace XML::XPath by XML::LibXML2 (2015-02-23)
- The <include/> statement allows only for including stuff from the same <application> namespace. Sometimes access to arbitarary config trees of another application would be nice. Thinking about <import/> or similar. (2015-02-23)
- Some variable replacement mechanism. Like <basedir value=“/var/lib/app”/> and <workdir value=“${basedir}/work”/> . Testcode now runs in mkrepo.
project/xml/application/config.1424683326.txt.gz · Last modified: 2015/02/23 10:22 by 109.192.167.232