Enabling enhanced HTML generation
Enhanced HTML generation provides support for XPages themes, XML compatible HTML, closable HTML tags, no minimized attributes, and auto classes.

To enable enhanced HTML generation

1. Select a database and choose Design - Design properties.

2. In the Web Access section of the Database properties box, select "Enable enhanced HTML generation."

Limited support for XPages themes

This means:


The following is not supported:
Here is a sample theme:

<theme>
 <!-- Global resources used by this theme -->
 <resource>
   <content-type>text/css</content-type>
   <href>/css/default.css</href>
 </resource>

 <!-- Property values -->
 <control>
   <name>body</name>
    <property>
       <name>style</name>
        <value>domino-default</value>
     </property>
 </control>
</theme>

Here is the rendered HTML:

<html ...>
<head ...>
 <style ...>
   @import url(/css/default.css);
 </style>
...
</head>
<body class="domino-default" ...>
...
</body>
</html>

XML Compatible HTML

The Web server generates valid XML with the following exceptions:


Closeable HTML tags

The Web server forces the closing of all closable HTML tags.

All tags that can have content will be closed as follows:

<tag></tag>

Here is an example:

<option>some text</option>

Tags that do not have content will be closed as follows. The space before the backslash makes this syntax work for both XML and HTML.

<tag />

Here is an example:

<hr />

No minimized attributes

An attribute that has only one possible value can be minimized to just the value but this is not valid XML. The Web server expands minimized attributes.

Here is a sample minimized attribute:

<td nowrap>text</td>

Here is the expanded attribute:

<td nowrap="nowrap">text</td>

Auto classes

The Web server automatically adds class attributes to HTML generated for certain Notes objects.

Action bar example

Action bars that are designed to use HTML rendering have the following classes added. HTML action bars are tables with one row which contains a table cell for each action. The action bar is separated from the rest of the HTML page content with a horizontal rule.

----- Old Rendering ----
<table ...>
<tr>
<td>...</td>
. . .
</tr>
</table>

----- New Rendering (with classes added) ----
<table ... class="domino-actionbar">
<tr>
<td class="domino-action">...</td>
. . .
</tr>
</table>
<hr class="domino-actionbar-sep" />

Outline example

The HTML version of the outline (a table) has a class added to the enclosing table only.

----- Old Rendering ----
<table ...>
....
</table>

----- New Rendering (with classes added) ----
<table class="domino-outline" ...>
....
</table>

View (HTML version) examples

A view rendered with HTML (in the absence of a $$ViewTemplate) is a complete HTML page with the following structure:

[action bar] (optional)
[view navigator] (the row of links with "previous", "next", "expand", "collapse", and "search"
[view title]
[view body]
[view navigator]

The action bar rendering is discussed above. The view body rendering is discussed in the next section. The classes added to the view body are generated wherever that view body appears rendered as HTML, whether as part of the complete HTML page, or embedded in another page or form, or as part of a $$ViewTemplate.

The default view navigator is changed as follows:

----- Old Rendering ----
<div align="center">
 <table ...>
   <tr>
     <td>...</td>
     ...
   </tr>
 </table>
</div>

----- New Rendering (with classes added) ----
<div align="center" class="domino-view-nav">
 <table ...>
   <tr>
     <td class="domino-view-nav-previous">...</td>
     <td class="domino-view-nav-next">...</td>
     <td class="domino-view-nav-expand">...</td>
     <td class="domino-view-nav-collapse">...</td>
     <td class="domino-view-nav-search">...</td>
 </table>
</div>

The default view title is changed as follows:

----- Old Rendering ----
<div align="center">
view title
</div>

----- New Rendering (with class added) ----
<div align="center" class="domino-view-title">
view title
</div>

View Body example

Classes are added to identify the view, the column head row, and the individual entries.

----- Old Rendering ----
<table ...>
 <tr ...>
   <th ...>Col Head 1</th><th ...>Col Head n</th>
 </tr>
 <tr ...><td ...>Col 1 value</td><td ...>Col n value</td></tr>
    ...
 <tr ...><td ...>Col 1 value</td><td ...>Col n value</td></tr>
</table>

----- New Rendering (with class added) ----
<table class="domino-view" ...>
 <tr ... class="domino-view-colhead">
   <th ...>Col Head 1</th><th ...>Col Head n</th>
 </tr>
 <tr ... class="domino-viewentry"><td ...>Col 1</td><td ...>Col n</td></tr>
   ...
 <tr ... class="domino-viewentry"><td ...>Col 1</td><td ...>Col n</td></tr>
</table>