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

NAME

Hopkins::Config::XML - hopkins configuration via XML

DESCRIPTION

Hopkins::Config encapsulates all of the busywork associated in the reading and post-processing of the XML configuration in addition to providing a simple interface to accessing values when required.

Hopkins::Config::XML will validate your configuration using XML Schema via XML::LibXML. for complete information on the schema, see the XML Schema document in Hopkins::Config::XML.

EXAMPLE

 <?xml version="1.0" encoding="utf-8"?>
 <hopkins>
     <state>
         <root>/var/lib/hopkins</root>
     </state>

     <plugin name="HMI">
         <port>8088</port>
     </plugin>

     <plugin name="RPC">
         <port>8080</port>
     </plugin>

     <database>
         <dsn>dbi:mysql:database=hopkins;host=localhost</dsn>
         <user>root</user>
         <pass></pass>
         <options>
             <option name="AutoCommit" value="1" />
             <option name="RaiseError" value="1" />
             <option name="mysql_auto_reconnect" value="1" />
             <option name="quote_char" value="" />
             <option name="name_sep" value="." />
         </options>
     </database>

     <queue name="general">
         <concurrency>16</concurrency>
     </queue>

     <queue name="serial" onerror="halt">
         <concurrency>1</concurrency>
     </queue>

     <task name="Sum" onerror="disable">
         <class>MyApp::Job::Sum</class>
         <queue>general</queue>
     </task>

     <task name="Report" onerror="disable" stack="no">
         <class>MyApp::Job::Report</class>
         <queue>serial</queue>
         <schedule>
             <cron>0 22 * 1-11 *</cron>
             <cron>0 */4 * 12 * *</cron>
         </schedule>
         <options>
             <option name="source" value="production" />
             <option name="destination" value="reports@domain.com" />
         </options>
         <chain task="Sum">
             <options>
                 <option name="categories" value="Books" />
                 <option name="categories" value="CDs" />
             </options>
         </chain>
     </task>
 </hopkins>

AUTHOR

Mike Eldridge <diz@cpan.org>

LICENSE