<!-- 

DTD 0.2 for the JASon service's properties configuration file. 

A property is for initializing a Service. Look at the 'Service.dtd'
for Service definition.

This property is based on a subset of the XML-RPC specification 10/16/99. 
A property can contains by default a string, or a XML-RPC tag like value, 
array or struct... 
-->

<!ELEMENT property ( value | struct | array )?>
<!ATTLIST property
name CDATA #REQUIRED
value CDATA #IMPLIED>

<!--
Struct definition : 
This tag is for a structure building. This structure is available for service with the java Hashtable object  
-->
<!ELEMENT struct ( member+ )>

<!--
Member definition : 
This tag is an element of the structure -->
<!ELEMENT member ( name?, value )>
<!ATTLIST member
name CDATA #IMPLIED>

<!--
Name definition -->
<!ELEMENT name ( #PCDATA )>

<!--
Value definition :
This tag is an element of the property or of a composite element -->
<!ELEMENT value ( string | boolean | int | i4 | long | float | double | array | struct )>

<!--
Primitive type for the Value. Note that For practival reason
the i4 type is equals to the int type. This is rather for 
compatibilit with XML-RPC -->
<!ELEMENT string ( #PCDATA )>
<!ELEMENT boolean ( #PCDATA )>
<!ELEMENT int ( #PCDATA )>
<!ELEMENT i4 ( #PCDATA )>
<!ELEMENT long ( #PCDATA )>
<!ELEMENT float ( #PCDATA )>
<!ELEMENT double ( #PCDATA )>

<!--
Array definition : 
An array contains one data with inside a sequence of value -->
<!ELEMENT array ( data )>

<!--
Data definition :
This is a needed element for the array structure -->
<!ELEMENT data ( value+ )>