In Xport, the document type refers to the type of xhtml document, and consists of declared classes in Xport. The defined classes, listed below, represent the available xhtml document types allowed in Xport at this time.

Other document types can be added by adding a class definition for the associated document type.

When you create an xhtml document in Xport, it is one of these type of documents. You can either specify the document type as the template parameter when constructing an Xport object, like the following.

xhtml_doc<xhtml_strict> myDoc;
xhtml_doc<xhtml_transitional> myDoc;
xhtml_doc<xhtml_frameset> myDoc;
    

A better way to declare class objects in Xport, however, is to take advantage of the multiple typedefs that Xport declares for the different document types, and different Xport classes. For example, Xport declares three typedefs for xhtml_doc as follows.

typedef xhtml_doc<xhtml_strict, char> document;
typedef xhtml_doc<xhtml_transitional, char> tdocument;
typedef xhtml_doc<xhtml_frameset, char> fdocument;
typedef xhtml_doc<xhtml_strict, wchar_t> wdocument;
typedef xhtml_doc<xhtml_transitional, wchar_t> wtdocument;
typedef xhtml_doc<xhtml_frameset, wchar_t> wfdocument;
    

There are similar typedefs declared for all Xport classes. Thus, there is normally no need to use any template notation, or deal with templates at all, if you're normally working with a single document type at any one time.