Including XML in Designer applications

Extensible Markup Language (XML) is a standard for creating markup languages that describe the structure and meaning of data in a document. XML separates the content of a document from its presentation and provides a common format for transferring data across the World Wide Web (WWW) or company intranet. The result is a technology that makes data available regardless of the proprietary systems involved.

How XML works

XML isn't a markup language itself, but a set of rules that enables you to create tags as you need them. In XML, a document is broken into parts and each part is separate. The way a document looks is determined by a style sheet, the content of a document is contained in a separate file, and the definitions of the tags are stored in another file called a Document Type Definition (DTD). Using a common data format and separating data from its formatting and its tag definitions makes the data readily accessible and reusable. Data from one application can be used in another application by changing the DTD or style sheet. The style sheets currently being used for XML are Cascading Style Sheets (CSS) and Extensible Stylesheet Language Transformation (XSLT). CSS styles data directly on the client, while XSLT is used to transform XML data into HTML, or another form of XML.

XML also breaks the contents of a document down into its basic structural elements. For example, an online book catalog contains information about each book including the title, author, publisher's list price, retail price, sale price and ISBN number. With XML you can create a tag for the book itself, but you can also create tags that describe each of its sub elements so that it's possible to differentiate between data such as the publisher's list price, retail price and sale price. The ability to make this kind of distinction between elements in a document makes it possible for computers to process information more accurately with less human intervention.

Server-to-server applications where information is transferred from one system to another is just one way in which XML is making information processing more powerful. Using XML, applications can be developed that are fully automated. For example, a company has an application that employees use to update their own benefits information. Using a browser or the Notes® client, employees update their benefit selections at designated times during the year. When they have completed their changes, a server such as Domino® passes the employee's information in XML format to another server for processing. The second server runs a Java™ servlet to complete the transaction by interacting with a backend human resources application such as PeopleSoft. When the update is complete, the server notifies Domino that the employee's benefits reflect the new selections.

The advantages of XML

The excitement surrounding XML relates to the advantages of such a robust and flexible tool. Some of the advantages of XML are that it is:

  • Easy to use because it resembles HTML
  • Extensible, that is, you can define tags that describe your data
  • Nonproprietary
  • Perfect for large, complex documents

XML technology represents a capacity for sharing information that didn't exist before. Virtually any kind of data can be rendered in XML, encapsulated, moved across a network and processed automatically between servers. Domino provides a secure environment for developing the applications that make this kind of information sharing possible.

For information about creating XML applications, visit the web site at http://www.lotus.com/xml.

What is DXL?

DXL is Domino XML-- that is, Domino data expressed as XML according to the tag definitions in the Domino Document Type Definition (Domino DTD). DXL allows you to see all or part of a Domino application as XML, much as you might view the source HTML for a Web page. This lets you apply the advantages of the flexible XML environment to a Domino application.

For example, you can use the DXL Viewer utility to display one or more design elements as DXL or use the DXL Exporter utility to write that same information to a file. Once exported in this way it would be possible to integrate all or part of your application design into other XML-aware applications. But what if the other application has a different definition for elements like forms and views? That's where the DXL Transformer becomes useful. This utility can convert the DXL representation of Domino design elements into other XML formats using definitions in a stylesheet (XSL). Well-formed HTML qualifies as another XML format so the DXL transformer can function as a type of report writer by importing design elements as DXL documents, applying an XSL stylesheet to the design elements and reformatting the output as HTML. For instance, one of the sample stylesheets that ships with Domino Designer ('REPORT-AllLSinForm.xsl') searches for all the LotusScript® code contained in a form and presents it in an easy to read outline. For example, if you select the Memo form from the Notes mail template and apply the stylesheet "REPORT-AllLSinForms.xsl" your output will appear as follows:

DXL output report

Thus, if you need a particular design analysis not available via the standard Design Synopsis feature, you can design your own report by creating a new XSL stylesheet. The DXL utilities give you full control over both the content and format of the output document.

For more information on the Domino DTD, see the XML for Domino section of online help.