<!--This is the DTD file for defining the syntax for specifying common
properties that are required for Smart Update Manager.
The SmartUpdateManager element is the root of the ViewLet descriptor.
-->

<!ELEMENT SmartUpdateManager ( General, (UpdateManagerServer?), (UpdateManagerClient?) ) >

<!-- It contains common properties -->
<!ELEMENT Properties EMPTY >
<!ATTLIST Properties Name CDATA #REQUIRED>
<!ATTLIST Properties Value CDATA #REQUIRED>

<!-- It contains Impl class name of all the interfaces and its properties. -->
<!ELEMENT Class ( #PCDATA ) >

<!-- It contains common properties for server and client.-->
<!ELEMENT General ( Log, UpdateManager, (Properties*) ) >


<!-- It contains Log Impl class and its properties. -->
<!ELEMENT Log ( Class, (Properties*) ) >

<!-- It contains implementaion class of SmartUpdateManagerAPI and its
properties-->
<!ELEMENT UpdateManager ( Class, (Properties*) ) >

<!-- It contains common properties of Session Impl class-->
<!ELEMENT Session ( Class, (Properties*) ) >

<!-- It contains common properties of Transport Impl class-->
<!ELEMENT Transport ( Class, (Properties*) ) >

<!-- It contains common properties for Update Manager Client.-->
<!ELEMENT UpdateManagerClient ( Transport, Session, (Properties*) ) >
<!ATTLIST UpdateManagerClient Host CDATA #IMPLIED >
<!ATTLIST UpdateManagerClient Port CDATA #IMPLIED >
<!-- Specify wether smart update needed or not -->
<!ATTLIST UpdateManagerClient SmartUpdate (true|false) "true" >
<!-- Specify wether smart revert needed or not -->
<!ATTLIST UpdateManagerClient SmartRevert (true|false) "false" >

<!-- It contains common properties for Update Manager Server-->
<!ELEMENT UpdateManagerServer ( Transport, Session, (Properties*) ) >
<!ATTLIST UpdateManagerServer Port CDATA #IMPLIED >
<!-- Specify wether smart update needed or not -->
<!ATTLIST UpdateManagerServer SmartUpdate (true|false) "true" >
<!ATTLIST UpdateManagerServer DownLoadEnabled (true|false) "false" >

