Click DTD

Click application XML descriptor Documentation Type Definition (DTD) : (A full example is available here)
     DTD for the Click Application Configuration File, Version 2.2

     To support validation of your configuration file, include the following
     DOCTYPE element at the beginning (after the "xml" declaration):

     <!DOCTYPE click-app PUBLIC
       "-//Apache Software Foundation//DTD Click Configuration 2.2//EN"

<!-- The Click Application (click.xml) Document Type Definition. -->
<!ELEMENT click-app (pages*, headers?, format?, mode?, controls?, 
                     file-upload-service?, log-service?, messages-map-service?, resource-service?, template-service?, page-interceptor*)>
  <!ATTLIST click-app charset CDATA #IMPLIED>
  <!ATTLIST click-app locale CDATA #IMPLIED>

  <!-- Application pages. -->
  <!ELEMENT pages (page*, excludes*)>
    <!ATTLIST pages package CDATA #IMPLIED>
    <!ATTLIST pages automapping (true|false) "true">
    <!ATTLIST pages autobinding (default|annotation|none) "default">

    <!-- Page definition. -->
    <!ELEMENT page (header*)>
      <!ATTLIST page path CDATA #REQUIRED>
      <!ATTLIST page classname CDATA #REQUIRED>

    <!-- Excludes definition. -->
    <!ELEMENT excludes (#PCDATA)>
      <!ATTLIST excludes pattern CDATA #REQUIRED>

  <!-- Application default page headers. -->
  <!ELEMENT headers (header*)>
    <!-- Header definition. -->
    <!ELEMENT header (#PCDATA)>
      <!ATTLIST header name CDATA #REQUIRED>
      <!ATTLIST header value CDATA #REQUIRED>
      <!ATTLIST header type (String|Integer|Date) "String">

  <!-- Page template formatter class. An new format object added to
       the Velocity context under the key: "format". -->
  <!ELEMENT format (#PCDATA)>
    <!ATTLIST format classname CDATA "">
  <!-- Application mode, which configures logging and caching. -->
  <!ELEMENT mode (#PCDATA)>
     <!ATTLIST mode value (production|profile|development|debug|trace) "development">

  <!-- Application deployable controls. -->
  <!ELEMENT controls (control*, control-set*)>
    <!-- Deployable control class. -->
    <!ELEMENT control (#PCDATA)>
      <!ATTLIST control classname CDATA #REQUIRED>

    <!-- Deployable Third Party Set of Controls. -->
    <!ELEMENT control-set (#PCDATA)>
      <!ATTLIST control-set name CDATA #REQUIRED>

  <!-- File Upload Service. -->
  <!ELEMENT file-upload-service (property*)>
    <!ATTLIST file-upload-service classname CDATA  "">
    <!-- Property definition. -->
    <!ELEMENT property (#PCDATA)>
      <!ATTLIST property name CDATA #REQUIRED>
      <!ATTLIST property value CDATA #REQUIRED>

  <!-- Log Service. -->
  <!ELEMENT log-service (property*)>
    <!ATTLIST log-service classname CDATA "">

  <!-- Messages Map Service. -->
  <!ELEMENT messages-map-service (property*)>
    <!ATTLIST messages-map-service classname CDATA "">

  <!-- Resource Service. -->
  <!ELEMENT resource-service (property*)>
    <!ATTLIST resource-service classname CDATA "">

  <!-- Template Service. -->
  <!ELEMENT template-service (property*)>
    <!ATTLIST template-service classname CDATA "">

  <!-- Application page interceptors. -->
  <!ELEMENT page-interceptor (property*)>
    <!ATTLIST page-interceptor classname CDATA #REQUIRED>
    <!ATTLIST page-interceptor scope (application|request) "request">