As with any XML file, the portal manifest uses a corresponding Document Type Definition (DTD) to specify the permissible elements in the portal manifest XML file. The following is the DTD for the portal manifest XML file:

<!--
====================================================================
portal_manifest_1.0.dtd - document type for Portal Manifests
Version: $Id$
====================================================================
-->

<!ELEMENT portal-manifest (gear-definitions? | color-palettes? | styles? |
 page-templates? | layout-templates? |
 gear-title-templates?)
>
<!ATTLIST portal-manifest
 name CDATA #IMPLIED
 version CDATA #IMPLIED
 author CDATA #IMPLIED
>

<!ELEMENT gear-definitions (gear-definition+)>
<!ELEMENT color-palettes (color-palette+)>
<!ELEMENT styles (style+)>
<!ELEMENT page-templates (page-template+)>
<!ELEMENT layout-templates (layout-template+)>
<!ELEMENT gear-title-templates (gear-title-template+)>

<!ELEMENT gear-definition (description?, localized-names?,
 localized-descriptions?,
 servlet-context, images?, dimensions,
 gear-modes, rendering?, caching?, error-handling?, instance-parameters?,
 user-parameters?, alerts?, gear-roles?)
>
<!ATTLIST gear-definition
 name CDATA #REQUIRED
 version CDATA #REQUIRED
 author CDATA #REQUIRED
>

<!ELEMENT description (#PCDATA)>

<!ELEMENT localized-names (localized-name+)>

<!ELEMENT localized-name (#PCDATA)>
<!ATTLIST localized-name locale CDATA #REQUIRED>

<!ELEMENT localized-descriptions (localized-description+)>

<!ELEMENT localized-description (#PCDATA)>
<!ATTLIST localized-description locale CDATA #REQUIRED>

<!ELEMENT servlet-context (#PCDATA)>

<!ELEMENT images (image+)>

<!ELEMENT image (url | alt-text?)>
<!ATTLIST image
 type (small | large | background) #REQUIRED
>

<!ELEMENT url (#PCDATA)>
<!ATTLIST url
 type (template | pretemplate | posttemplate) #IMPLIED
>

<!ELEMENT alt-text (#PCDATA)>

<!ELEMENT dimensions (dimension+)>

<!-- Expected values for a dimension in Portal Application Framework 1.0:
 Gear Height: short | tall | nopreference
 Region Height: short | tall
 Gear Width: wide | narrow | nopreference
 Region Width: wide | narrow
-->
<!ELEMENT dimension (#PCDATA)>
<!ATTLIST dimension
 name (height | width) #REQUIRED
>

<!ELEMENT rendering (render-asynchronously, timeout?)>

<!ELEMENT render-asynchronously EMPTY>
<!ATTLIST render-asynchronously
 value (true | false) 'true'
>

<!ELEMENT timeout EMPTY>
<!ATTLIST timeout
 value CDATA #REQUIRED
>

<!ELEMENT caching (cache-output | (timeout, cache-key?))>

<!ELEMENT cache-key (property+)>

<!ELEMENT property EMPTY>
<!ATTLIST property
 name CDATA #REQUIRED
>

<!ELEMENT cache-output EMPTY>
<!ATTLIST cache-output
 value (true | false) 'true'
>

<!ELEMENT error-handling (intercept-errors | cover-errors-with-cache)>

<!ELEMENT intercept-errors EMPTY>
<!ATTLIST intercept-errors
 value (true | false) 'true'
>

<!ELEMENT cover-errors-with-cache EMPTY>
<!ATTLIST cover-errors-with-cache
 value (true | false) 'true'
>

<!ELEMENT gear-modes (gear-mode+)>

<!ELEMENT gear-mode (display-modes)>
<!ATTLIST gear-mode
 name (content | userConfig | instanceConfig | initialConfig |
 installConfig |
 help | about | preview) #REQUIRED
>

<!ELEMENT gear-roles (gear-role+)>
<!ELEMENT gear-role (#PCDATA)>

<!ELEMENT display-modes (display-mode+)>

<!ELEMENT display-mode (device-output+)>
<!ATTLIST display-mode
 name (shared | full | popup) #REQUIRED
>

<!ELEMENT device-output (#PCDATA)>
<!ATTLIST device-output
 name (html | wml | chtml) 'html'
>

<!ELEMENT instance-parameters (parameter+)>
<!ELEMENT user-parameters (parameter+)>

<!ELEMENT parameter (default-value?, description?)>
<!ATTLIST parameter
 name CDATA #REQUIRED
>

<!ELEMENT alerts (alert-message+)>

<!ELEMENT alert-message (message-type?, default-value?, resource-bundle?)>
<!ATTLIST alert-message
 name CDATA #REQUIRED
>

<!ELEMENT message-type (#PCDATA)>

<!ELEMENT resource-bundle (#PCDATA)>

<!ELEMENT default-value (#PCDATA)>

<!ELEMENT color-palette (description, servlet-context, images?, entity+)>
<!ATTLIST color-palette
 name CDATA #REQUIRED
 version CDATA #IMPLIED
 author CDATA #IMPLIED
>

<!ELEMENT entity (colors? | images?)>
<!ATTLIST entity
 type (page-body | gear-body | gear-title | highlight) #REQUIRED
>

<!ELEMENT colors (color+)>

<!ELEMENT color (#PCDATA)>
<!ATTLIST color
 type (background | text | link | action-link | visited-link) #REQUIRED
>

<!ELEMENT style (description?, servlet-context, cascading-style-sheet)>
<!ATTLIST style
 name CDATA #REQUIRED
 version CDATA #IMPLIED
 author CDATA #IMPLIED
>

<!ELEMENT cascading-style-sheet (#PCDATA)>

<!ELEMENT page-template (description?, servlet-context, images?, display-modes)>
<!ATTLIST page-template
 name CDATA #REQUIRED
 version CDATA #IMPLIED
 author CDATA #IMPLIED
>

<!ELEMENT layout-template (description?, servlet-context, images?,
 display-modes, regions)>
<!ATTLIST layout-template
 name CDATA #REQUIRED
 version CDATA #IMPLIED
 author CDATA #IMPLIED
>

<!ELEMENT regions (region+)>

<!ELEMENT region (dimensions+)>
<!ATTLIST region
 name CDATA #REQUIRED
>

<!ELEMENT gear-title-template (description?, servlet-context, images?,
 gear-title-template-modes?)>

<!ATTLIST gear-title-template
 name CDATA #REQUIRED
 version CDATA #IMPLIED
 author CDATA #IMPLIED
>

<!ELEMENT gear-title-template-modes (gear-title-template-mode+)>

<!ELEMENT gear-title-template-mode (display-modes)>
<!ATTLIST gear-title-template-mode
 name (preTemplate | template | postTemplate) #REQUIRED
>
 
loading table of contents...