Enabling enhanced HTML generation
Enhanced HTML generation provides support for Classic web themes, XML compatible HTML, closable HTML tags, no minimized attributes, and auto classes.
To enable enhanced HTML generation
- Select a database and choose Design - Design properties.
- In the Web Access section of the Database properties box, select "Enable enhanced HTML generation."
When you enable enhanced HTML generation, you can select a Classic web theme, either the theme defined for the server or an application-specific theme you created.
You can also create themes for use in XPages applications. For more information, see "Creating a theme resource" in the Domino® and Designer XPages and Eclipse User Guide.
Here is a sample Classic web 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:
- Passthru HTML
- Application supplied HTML in HTML head content
- HTML in the templates in data/domino/templates
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 previously. 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>