The Document Object Model, or DOM, was new to R5 and is enhanced in Domino 6 as shown in Figure 16.4, but it is not new to browser technology. What really is the DOM? When a browser renders an HTML document, it reads the HTML code and creates an in-memory tree representation for that page. This tree is a lot like the Designer's Object pane, which references all the available methods , properties, and events for a selected object.
Figure 16.4. The Domino DOM pane.
In this case, the Web DOM (the browser) exposes the objects and events for that page as shown in 16.5. That tree, along with its APIs, makes up the Domino DOM, shown in Figure 16.4.
Figure 16.5. The Web DOM pane.
The DOM determines what objects are actually available in the model and determines each object's set list of methods, properties, and events. For example, we know that a document contains a form, that a form contains fields or elements, and that a text element has a given value. This information makes it easy to understand how to access the object using JavaScript, using the DOM:
document.forms[0].textfieldname.value
In this example, document is the object model called, forms is the object in the model, textfieldname is the element on the form object, and value is the data inside the field element. The DOM makes this simple and straightforward, as shown in Figure 16.6.
Figure 16.6. The Document, Form, Field element and its value as shown in the DOM pane are the same as document.forms[0].TextFieldName.value in JavaScript.
Domino DOM Version
The question is, "What Document Object Model is supported in Domino 6?" Domino 6 is based on the HTML 4.0 DOM. This can get confusing because different versions of browsers offer different DOM support. Netscape 3.0 and IE 3.0 have different DOM support than their 4.0 versions. The 5.0 browsers offer yet another array of DOM support. Amid this chaos, the World Wide Web Consortium (W3C) was formed to help define standards for the Web. The organization currently is working on defining a DOM for standardization. In any event, Lotus has committed to support that definition.
Part I. Introduction to Release 6
Whats New in Release 6?
The Release 6 Object Store
The Integrated Development Environment
Part II. Foundations of Application Design
Forms Design
Advanced Form Design
Designing Views
Using Shared Resources in Domino Applications
Using the Page Designer
Creating Outlines
Adding Framesets to Domino Applications
Automating Your Application with Agents
Part III. Programming Domino Applications
Using the Formula Language
Real-World Examples Using the Formula Language
Writing LotusScript for Domino Applications
Real-World LotusScript Examples
Writing JavaScript for Domino Applications
Real-World JavaScript Examples
Writing Java for Domino Applications
Real-World Java Examples
Enhancing Domino Applications for the Web
Part IV. Advanced Design Topics
Accessing Data with XML
Accessing Data with DECS and DCRs
Security and Domino Applications
Creating Workflow Applications
Analyzing Domino Applications
Part V. Appendices
Appendix A. HTML Reference
Appendix B. Domino URL Reference