\section{DOM::DOMImplementation Class Reference}
\label{classDOM_1_1DOMImplementation}\index{DOM::DOMImplementation@{DOM::DOMImplementation}}
The {\tt  {\bf DOMImplementation}{\rm (p.\,\pageref{classDOM_1_1DOMImplementation})} } interface provides a number of methods for performing operations that are independent of any particular instance of the document object model.  


{\tt \#include $<$dom\_\-doc.h$>$}

\subsection*{Public Member Functions}
\begin{CompactItemize}
\item 
{\bf DOMImplementation} (const  {\bf DOMImplementation} \&other)\label{classDOM_1_1DOMImplementation_a1}

\item 
{\bf DOMImplementation} \& {\bf operator=} (const  {\bf DOMImplementation} \&other)\label{classDOM_1_1DOMImplementation_a2}

\item 
bool {\bf has\-Feature} (const  {\bf DOMString} \&feature, const  {\bf DOMString} \&version)
\begin{CompactList}\small\item\em Test if the {\bf DOM}{\rm (p.\,\pageref{namespaceDOM})} implementation implements a specific feature. \item\end{CompactList}\item 
{\bf Document\-Type} {\bf create\-Document\-Type} (const  {\bf DOMString} \&qualified\-Name, const  {\bf DOMString} \&public\-Id, const  {\bf DOMString} \&system\-Id)
\begin{CompactList}\small\item\em Introduced in {\bf DOM}{\rm (p.\,\pageref{namespaceDOM})} Level 2. \item\end{CompactList}\item 
{\bf Document} {\bf create\-Document} (const  {\bf DOMString} \&namespace\-URI, const  {\bf DOMString} \&qualified\-Name, const  {\bf Document\-Type} \&doctype)
\begin{CompactList}\small\item\em Introduced in {\bf DOM}{\rm (p.\,\pageref{namespaceDOM})} Level 2. \item\end{CompactList}\item 
{\bf DOMImplementation} {\bf get\-Interface} (const  {\bf DOMString} \&feature) const 
\begin{CompactList}\small\item\em Introduced in {\bf DOM}{\rm (p.\,\pageref{namespaceDOM})} Level 3 This method makes available a DOMImplementation's specialized interface. \item\end{CompactList}\item 
{\bf CSSStyle\-Sheet} {\bf create\-CSSStyle\-Sheet} (const  {\bf DOMString} \&title, const  {\bf DOMString} \&media)
\begin{CompactList}\small\item\em Introduced in {\bf DOM}{\rm (p.\,\pageref{namespaceDOM})} Level 2 This method is from the DOMImplementation\-CSS interface. \item\end{CompactList}\item 
{\bf HTMLDocument} {\bf create\-HTMLDocument} (const  {\bf DOMString} \&title)
\begin{CompactList}\small\item\em Introduced in {\bf DOM}{\rm (p.\,\pageref{namespaceDOM})} Level 2 This method is from the HTMLDOMImplementation interface. \item\end{CompactList}\item 
DOMImplementation\-Impl $\ast$ {\bf handle} () const \label{classDOM_1_1DOMImplementation_a10}

\item 
bool {\bf is\-Null} () const \label{classDOM_1_1DOMImplementation_a11}

\end{CompactItemize}
\subsection*{Protected Member Functions}
\begin{CompactItemize}
\item 
{\bf DOMImplementation} (DOMImplementation\-Impl $\ast$i)\label{classDOM_1_1DOMImplementation_b0}

\end{CompactItemize}
\subsection*{Protected Attributes}
\begin{CompactItemize}
\item 
DOMImplementation\-Impl $\ast$ {\bf impl}\label{classDOM_1_1DOMImplementation_p0}

\end{CompactItemize}
\subsection*{Friends}
\begin{CompactItemize}
\item 
class {\bf Document}\label{classDOM_1_1DOMImplementation_n0}

\end{CompactItemize}


\subsection{Detailed Description}
The {\tt  {\bf DOMImplementation}{\rm (p.\,\pageref{classDOM_1_1DOMImplementation})} } interface provides a number of methods for performing operations that are independent of any particular instance of the document object model. 

{\bf DOM}{\rm (p.\,\pageref{namespaceDOM})} Level 2 and newer provide means for creating documents directly, which was not possible with {\bf DOM}{\rm (p.\,\pageref{namespaceDOM})} Level 1. 



Definition at line 76 of file dom\_\-doc.h.

\subsection{Member Function Documentation}
\index{DOM::DOMImplementation@{DOM::DOMImplementation}!hasFeature@{hasFeature}}
\index{hasFeature@{hasFeature}!DOM::DOMImplementation@{DOM::DOMImplementation}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool DOMImplementation::has\-Feature (const {\bf DOMString} \& {\em feature}, const {\bf DOMString} \& {\em version})}\label{classDOM_1_1DOMImplementation_a4}


Test if the {\bf DOM}{\rm (p.\,\pageref{namespaceDOM})} implementation implements a specific feature. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em feature}]The package name of the feature to test. In Level 1, the legal values are \char`\"{}HTML\char`\"{} and \char`\"{}XML\char`\"{} (case-insensitive).\item[{\em version}]This is the version number of the package name to test. In Level 1, this is the string \char`\"{}1.0\char`\"{}. If the version is not specified, supporting any version of the feature will cause the method to return {\tt  true } .\end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]{\tt  true } if the feature is implemented in the specified version, {\tt  false } otherwise. \end{Desc}


Definition at line 72 of file dom\_\-doc.cpp.\index{DOM::DOMImplementation@{DOM::DOMImplementation}!createDocumentType@{createDocumentType}}
\index{createDocumentType@{createDocumentType}!DOM::DOMImplementation@{DOM::DOMImplementation}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Document\-Type} DOMImplementation::create\-Document\-Type (const {\bf DOMString} \& {\em qualified\-Name}, const {\bf DOMString} \& {\em public\-Id}, const {\bf DOMString} \& {\em system\-Id})}\label{classDOM_1_1DOMImplementation_a5}


Introduced in {\bf DOM}{\rm (p.\,\pageref{namespaceDOM})} Level 2. 

Creates an empty {\bf Document\-Type}{\rm (p.\,\pageref{classDOM_1_1DocumentType})} node. {\bf Entity}{\rm (p.\,\pageref{classDOM_1_1Entity})} declarations and notations are not made available. {\bf Entity}{\rm (p.\,\pageref{classDOM_1_1Entity})} reference expansions and default attribute additions do not occur. It is expected that a future version of the {\bf DOM}{\rm (p.\,\pageref{namespaceDOM})} will provide a way for populating a {\bf Document\-Type}{\rm (p.\,\pageref{classDOM_1_1DocumentType})}.

HTML-only {\bf DOM}{\rm (p.\,\pageref{namespaceDOM})} implementations do not need to implement this method.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em qualified\-Name}]The qualified name of the document type to be created.\item[{\em public\-Id}]The external subset public identifier.\item[{\em system\-Id}]The external subset system identifier.\end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]A new {\bf Document\-Type}{\rm (p.\,\pageref{classDOM_1_1DocumentType})} node with {\bf Node.owner\-Document}{\rm (p.\,\pageref{classDOM_1_1Node_a18})} set to null.\end{Desc}
\begin{Desc}
\item[Exceptions:]
\begin{description}
\item[{\em DOMException}]INVALID\_\-CHARACTER\_\-ERR: Raised if the specified qualified name contains an illegal character.\end{description}
\end{Desc}
NAMESPACE\_\-ERR: Raised if the qualified\-Name is malformed. 

Definition at line 80 of file dom\_\-doc.cpp.\index{DOM::DOMImplementation@{DOM::DOMImplementation}!createDocument@{createDocument}}
\index{createDocument@{createDocument}!DOM::DOMImplementation@{DOM::DOMImplementation}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Document} DOMImplementation::create\-Document (const {\bf DOMString} \& {\em namespace\-URI}, const {\bf DOMString} \& {\em qualified\-Name}, const {\bf Document\-Type} \& {\em doctype})}\label{classDOM_1_1DOMImplementation_a6}


Introduced in {\bf DOM}{\rm (p.\,\pageref{namespaceDOM})} Level 2. 

Creates an XML {\bf Document}{\rm (p.\,\pageref{classDOM_1_1Document})} object of the specified type with its document element. HTML-only {\bf DOM}{\rm (p.\,\pageref{namespaceDOM})} implementations do not need to implement this method.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em namespace\-URI}]The namespace URI of the document element to create.\item[{\em qualified\-Name}]The qualified name of the document element to be created.\item[{\em doctype}]The type of document to be created or null. When doctype is not null, its {\bf Node.owner\-Document}{\rm (p.\,\pageref{classDOM_1_1Node_a18})} attribute is set to the document being created.\end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]A new {\bf Document}{\rm (p.\,\pageref{classDOM_1_1Document})} object.\end{Desc}
\begin{Desc}
\item[Exceptions:]
\begin{description}
\item[{\em DOMException}]INVALID\_\-CHARACTER\_\-ERR: Raised if the specified qualified name contains an illegal character.\end{description}
\end{Desc}
NAMESPACE\_\-ERR: Raised if the qualified\-Name is malformed, if the qualified\-Name has a prefix and the namespace\-URI is null, or if the qualified\-Name has a prefix that is \char`\"{}xml\char`\"{} and the namespace\-URI is different from \char`\"{}http://www.w3.org/XML/1998/namespace\char`\"{} [Namespaces].

WRONG\_\-DOCUMENT\_\-ERR: Raised if doctype has already been used with a different document or was created from a different implementation. 

Definition at line 94 of file dom\_\-doc.cpp.\index{DOM::DOMImplementation@{DOM::DOMImplementation}!getInterface@{getInterface}}
\index{getInterface@{getInterface}!DOM::DOMImplementation@{DOM::DOMImplementation}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf DOMImplementation} DOMImplementation::get\-Interface (const {\bf DOMString} \& {\em feature}) const}\label{classDOM_1_1DOMImplementation_a7}


Introduced in {\bf DOM}{\rm (p.\,\pageref{namespaceDOM})} Level 3 This method makes available a DOMImplementation's specialized interface. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em feature}]The name of the feature requested (case-insensitive)\end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]Returns an alternate {\bf DOMImplementation}{\rm (p.\,\pageref{classDOM_1_1DOMImplementation})} which implements the specialized APIs of the specified feature, if any, or null if there is no alternate {\bf DOMImplementation}{\rm (p.\,\pageref{classDOM_1_1DOMImplementation})} object which implements interfaces associated with that feature. Any alternate {\bf DOMImplementation}{\rm (p.\,\pageref{classDOM_1_1DOMImplementation})} returned by this method must delegate to the primary core {\bf DOMImplementation}{\rm (p.\,\pageref{classDOM_1_1DOMImplementation})} and not return results inconsistent with the primary {\bf DOMImplementation}{\rm (p.\,\pageref{classDOM_1_1DOMImplementation})}. \end{Desc}


Definition at line 122 of file dom\_\-doc.cpp.\index{DOM::DOMImplementation@{DOM::DOMImplementation}!createCSSStyleSheet@{createCSSStyleSheet}}
\index{createCSSStyleSheet@{createCSSStyleSheet}!DOM::DOMImplementation@{DOM::DOMImplementation}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf CSSStyle\-Sheet} DOMImplementation::create\-CSSStyle\-Sheet (const {\bf DOMString} \& {\em title}, const {\bf DOMString} \& {\em media})}\label{classDOM_1_1DOMImplementation_a8}


Introduced in {\bf DOM}{\rm (p.\,\pageref{namespaceDOM})} Level 2 This method is from the DOMImplementation\-CSS interface. 

Creates a new {\bf CSSStyle\-Sheet}{\rm (p.\,\pageref{classDOM_1_1CSSStyleSheet})}.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em title}]The advisory title. See also the Style Sheet Interfaces section.\end{description}
\end{Desc}
media The comma-separated list of media associated with the new style sheet. See also the Style Sheet Interfaces section.

\begin{Desc}
\item[Returns:]A new CSS style sheet.\end{Desc}
\begin{Desc}
\item[Exceptions:]
\begin{description}
\item[{\em SYNTAX\_\-ERR:}]Raised if the specified media string value has a syntax error and is unparsable. \end{description}
\end{Desc}


Definition at line 130 of file dom\_\-doc.cpp.

References DOM::DOMString::implementation().\index{DOM::DOMImplementation@{DOM::DOMImplementation}!createHTMLDocument@{createHTMLDocument}}
\index{createHTMLDocument@{createHTMLDocument}!DOM::DOMImplementation@{DOM::DOMImplementation}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf HTMLDocument} DOMImplementation::create\-HTMLDocument (const {\bf DOMString} \& {\em title})}\label{classDOM_1_1DOMImplementation_a9}


Introduced in {\bf DOM}{\rm (p.\,\pageref{namespaceDOM})} Level 2 This method is from the HTMLDOMImplementation interface. 

Creates an {\bf HTMLDocument}{\rm (p.\,\pageref{classDOM_1_1HTMLDocument})} with the minimal tree made of these elements: HTML,HEAD,TITLE and BODY. It extends the core interface which can be used to create an XHTML document by passing the XHTML namespace as the namespace for the root element.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em title}]The title of the document to be set as the content of the TITLE element, through a child {\bf Text}{\rm (p.\,\pageref{classDOM_1_1Text})} node.\end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]the HTMLdocument \end{Desc}


Definition at line 108 of file dom\_\-doc.cpp.

References QString::from\-Latin1(), and DOM::DOMString::string().

The documentation for this class was generated from the following files:\begin{CompactItemize}
\item 
dom\_\-doc.h\item 
dom\_\-doc.cpp\end{CompactItemize}
