<!-- Definition of key/value pair configuration files -->
<!ELEMENT keyval (text|boolean|real|integer|date|host|file)*>

<!ELEMENT summary (#PCDATA)>
<!ELEMENT text (key,summary,description,value?)>
<!ELEMENT boolean (key,summary,description,value?)>
<!ELEMENT real (key,summary,description,value?)>
<!ELEMENT integer (key,summary,description,value?)>
<!ELEMENT date (key,summary,description,value?)>
<!ELEMENT host (key,summary,description?,value?)>
<!ELEMENT file (key,summary,description?,value?)>

<!ELEMENT key (#PCDATA)>
<!ELEMENT description (#PCDATA|literal|application|command|acronym|filename)*>
<!ELEMENT value (#PCDATA)>

<!ELEMENT literal (#PCDATA)>
<!ELEMENT application (#PCDATA)>
<!ELEMENT command (#PCDATA)>
<!ELEMENT acronym (#PCDATA)>
<!ELEMENT filename (#PCDATA)>

<!ATTLIST keyval class CDATA #REQUIRED>
<!ATTLIST keyval namespace CDATA "lp">
<!ATTLIST keyval version CDATA "3.1.0">
<!ATTLIST keyval package CDATA "com.glatmos.lp.cfg">

<!ATTLIST key short CDATA #IMPLIED>

<!ATTLIST text default CDATA #IMPLIED>
<!ATTLIST text varname CDATA #IMPLIED>
<!ATTLIST text type CDATA #FIXED "TEXT">
<!ATTLIST text cctype CDATA #FIXED "std::string">
<!ATTLIST text LookupGet CDATA #FIXED "getString">
<!ATTLIST text jtype CDATA #FIXED "String">

<!ATTLIST boolean default (true|false) #REQUIRED>
<!ATTLIST boolean varname CDATA #IMPLIED>
<!ATTLIST boolean type CDATA #FIXED "true|false">
<!ATTLIST boolean cctype CDATA #FIXED "bool">
<!ATTLIST boolean LookupGet CDATA #FIXED "getBool">
<!ATTLIST boolean jtype CDATA #FIXED "boolean">

<!ATTLIST real default CDATA #IMPLIED>
<!ATTLIST real min CDATA #IMPLIED>
<!ATTLIST real max CDATA #IMPLIED>
<!ATTLIST real varname CDATA #IMPLIED>
<!ATTLIST real type CDATA #FIXED "NUMBER">
<!ATTLIST real cctype CDATA #FIXED "double">
<!ATTLIST real LookupGet CDATA #FIXED "getDouble">
<!ATTLIST real jtype CDATA #FIXED "Double">

<!ATTLIST integer default CDATA "0">
<!ATTLIST integer min CDATA #IMPLIED>
<!ATTLIST integer max CDATA #IMPLIED>
<!ATTLIST integer varname CDATA #IMPLIED>
<!ATTLIST integer type CDATA #FIXED "INTEGER">
<!ATTLIST integer cctype CDATA #FIXED "int64">
<!ATTLIST integer LookupGet CDATA #FIXED "getLong">
<!ATTLIST integer jtype CDATA #FIXED "Long">

<!ATTLIST date default CDATA #IMPLIED>
<!ATTLIST date varname CDATA #IMPLIED>
<!ATTLIST date type CDATA #FIXED "DATE">
<!ATTLIST date cctype CDATA #FIXED "nlib::Date">
<!ATTLIST date LookupGet CDATA #FIXED "getDate">
<!ATTLIST date jtype CDATA #FIXED "Long">

<!ATTLIST host default CDATA #IMPLIED>
<!ATTLIST host varname CDATA #IMPLIED>
<!ATTLIST host type CDATA #FIXED "HOST|IP">
<!ATTLIST host cctype CDATA #FIXED "std::string">
<!ATTLIST host LookupGet CDATA #FIXED "getString">
<!ATTLIST host jtype CDATA #FIXED "String">

<!ATTLIST file default CDATA #IMPLIED>
<!ATTLIST file varname CDATA #IMPLIED>
<!ATTLIST file type CDATA #FIXED "FILENAME">
<!ATTLIST file cctype CDATA #FIXED "std::string">
<!ATTLIST file LookupGet CDATA #FIXED "getString">
<!ATTLIST file jtype CDATA #FIXED "String">

<!ENTITY verbosity '<integer default="0" min="-1" max="9" varname="VerbosityLevel">
<key>verbosity</key>
<summary>Controls the level of diagnostic output produced.</summary>
<description>This option can be used to increase the amount of
diagnostic output which is produced. The diagnostic output produced
will be to the standard error device (so as not to interfere with any
output to the standard output device). Typically this option is only
specified if the process is running in the foreground. Values range
from [-1,9], where 0 or less turns off verbose output (the default)
and larger values will produce more diagnostic output.</description>
</integer>'>

<!ENTITY true '<literal>true</literal>'>
<!ENTITY false '<literal>false</literal>'>
