This is an annotated DTD for clients using the delegation service.

<!ELEMENT config (client)*>
<!ATTLIST client
     name CDATA #IMPLIED
     version CDATA #IMPLIED
     disableDefaultStores CDATA #IMPLIED
     debug CDATA #IMPLIED>
<!ELEMENT client (id|
    serviceUri|
    authorizeUri|
    wellKnownUri|
    callbackUri|
    lifetime|
    secret|
    publicKeyFile|
    privateKeyFile|
    skin|
    enableAssetCleanup|
    maxAssetLifetime|
    keypairLifetime|
    logging|
    memoryStore|
    fileStore|
    postgresql|
    mysql|
    apache derby|
    mariadb|
    keystore)|
    scopes*>
<!ELEMENT id (#PCDATA)>
<!ELEMENT serviceUri (#PCDATA)>
<!ELEMENT authorizeUri (#PCDATA)>
<!ELEMENT callbackUri (#PCDATA)>
<!ELEMENT wellKnownUri (#PCDATA)>
<!ELEMENT showRedirectPage (#PCDATA)>
<!ELEMENT lifetime (#PCDATA)>
<!ELEMENT OIDCEnabled (#PCDATA)>
<!ELEMENT publicKeyFile (#PCDATA)>
<!ELEMENT privateKeyFile (#PCDATA)>
<!ELEMENT secret (#PCDATA)>
<!ELEMENT skin (#PCDATA)>
<!ELEMENT enableAssetCleanup (#PCDATA)>
<!ELEMENT maxAssetLifetime (#PCDATA)>
<!ELEMENT keypairLifetime (#PCDATA)>
<!ELEMENT logging (#PCDATA)>
<!ATTLIST logging
     logFileName CDATA #REQUIRED
     logName CDATA #IMPLIED
     logSize CDATA #IMPLIED
     logFileCount CDATA #IMPLIED
     debug CDATA #IMPLIED>
<!ELEMENT assetStore (#PCDATA)>
<!ELEMENT memoryStore (assetStore)*>
<!ELEMENT fileStore (assetStore)*>
<!ATTLIST fileStore
     dataPath CDATA #IMPLIED
     indexPath CDATA #IMPLIED
     path CDATA #IMPLIED>
<!ELEMENT mysql (assetStore)*>
<!ATTLIST mysql
     password CDATA #REQUIRED
     port CDATA #IMPLIED
     host CDATA #IMPLIED
     username CDATA #REQUIRED
     schema CDATA #IMPLIED
     database CDATA #IMPLIED
     tablename CDATA #IMPLIED
     tablePrefix CDATA #IMPLIED
     driver CDATA #IMPLIED>
    <!ELEMENT derby (assetStore)*>
    <!ATTLIST derby
         password CDATA #REQUIRED
         username CDATA #REQUIRED
         bootPassword CDATA #REQUIRED
         schema CDATA #REQUIRED
         database CDATA #REQUIRED>
<!ELEMENT mariadb (assetStore)*>
<!ATTLIST mariadb
     password CDATA #REQUIRED
     port CDATA #IMPLIED
     host CDATA #IMPLIED
     username CDATA #REQUIRED
     schema CDATA #IMPLIED
     database CDATA #IMPLIED
     tablename CDATA #IMPLIED
     tablePrefix CDATA #IMPLIED
     driver CDATA #IMPLIED>
<!ELEMENT postgresql (assetStore)*>
<!ATTLIST postgresql
     password CDATA #REQUIRED
     username CDATA #REQUIRED
     port CDATA #IMPLIED
     schema CDATA #IMPLIED
     database CDATA #IMPLIED
     tablename CDATA #IMPLIED
     tablePrefix CDATA #IMPLIED
     driver CDATA #IMPLIED>
<!ELEMENT keystore (assetStore)*>
<!ATTLIST keystore
     path CDATA #REQUIRED
     password CDATA #REQUIRED
     type CDATA #REQUIRED
     factory CDATA #REQUIRED
     useJavaKeystore CDATA #IMPLIED>
<!ELEMENT scopes(scope)>
<!ELEMENT scope(#PCDATA)>
<!ATTLIST scope
     enabled CDATA #IMPLIED>
]>