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"
"http://click.apache.org/dtds/click-2.2.dtd">
-->
<!-- 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 "org.apache.click.util.Format">
<!-- 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 "org.apache.click.service.FileUploadService">
<!-- 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 "org.apache.click.service.ConsoleLogService">
<!-- Messages Map Service. -->
<!ELEMENT messages-map-service (property*)>
<!ATTLIST messages-map-service classname CDATA "org.apache.click.service.DefaultMessagesMapService">
<!-- Resource Service. -->
<!ELEMENT resource-service (property*)>
<!ATTLIST resource-service classname CDATA "org.apache.click.service.ClickResourceService">
<!-- Template Service. -->
<!ELEMENT template-service (property*)>
<!ATTLIST template-service classname CDATA "org.apache.click.service.VelocityTemplateService">
<!-- Application page interceptors. -->
<!ELEMENT page-interceptor (property*)>
<!ATTLIST page-interceptor classname CDATA #REQUIRED>
<!ATTLIST page-interceptor scope (application|request) "request">