khtml Library API Documentation

dom_doc.h

00001 /* 00002 * This file is part of the DOM implementation for KDE. 00003 * 00004 * (C) 1999 Lars Knoll (knoll@kde.org) 00005 * 00006 * This library is free software; you can redistribute it and/or 00007 * modify it under the terms of the GNU Library General Public 00008 * License as published by the Free Software Foundation; either 00009 * version 2 of the License, or (at your option) any later version. 00010 * 00011 * This library is distributed in the hope that it will be useful, 00012 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00014 * Library General Public License for more details. 00015 * 00016 * You should have received a copy of the GNU Library General Public License 00017 * along with this library; see the file COPYING.LIB. If not, write to 00018 * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 00019 * Boston, MA 02111-1307, USA. 00020 * 00021 * This file includes excerpts from the Document Object Model (DOM) 00022 * Level 1 Specification (Recommendation) 00023 * http://www.w3.org/TR/REC-DOM-Level-1/ 00024 * Copyright © World Wide Web Consortium , (Massachusetts Institute of 00025 * Technology , Institut National de Recherche en Informatique et en 00026 * Automatique , Keio University ). All Rights Reserved. 00027 */ 00028 00029 #ifndef _DOM_Document_h_ 00030 #define _DOM_Document_h_ 00031 00032 #include <dom/dom_node.h> 00033 #include <dom/css_stylesheet.h> 00034 00035 class KHTMLView; 00036 class KHTMLPart; 00037 00038 namespace DOM { 00039 00040 class DOMString; 00041 class DocumentType; 00042 class NodeList; 00043 class CDATASection; 00044 class Comment; 00045 class DocumentFragment; 00046 class Text; 00047 class DOMImplementation; 00048 class Element; 00049 class Attr; 00050 class EntityReference; 00051 class ProcessingInstruction; 00052 class DocumentImpl; 00053 class Range; 00054 class NodeIterator; 00055 class TreeWalker; 00056 class NodeFilter; 00057 class DOMImplementationImpl; 00058 class DocumentTypeImpl; 00059 class Event; 00060 class AbstractView; 00061 class CSSStyleDeclaration; 00062 class HTMLElementImpl; 00063 class HTMLFrameElement; 00064 class HTMLElementImpl; 00065 class HTMLIFrameElement; 00066 class HTMLObjectElement; 00067 class HTMLDocument; 00068 00077 class DOMImplementation 00078 { 00079 friend class Document; 00080 public: 00081 DOMImplementation(); 00082 DOMImplementation(const DOMImplementation &other); 00083 00084 DOMImplementation & operator = (const DOMImplementation &other); 00085 ~DOMImplementation(); 00086 00103 bool hasFeature ( const DOMString &feature, const DOMString &version ); 00104 00130 DocumentType createDocumentType ( const DOMString &qualifiedName, 00131 const DOMString &publicId, 00132 const DOMString &systemId ); 00133 00164 Document createDocument ( const DOMString &namespaceURI, 00165 const DOMString &qualifiedName, 00166 const DocumentType &doctype ); 00167 00182 DOMImplementation getInterface(const DOMString &feature) const; 00183 00200 CSSStyleSheet createCSSStyleSheet(const DOMString &title, const DOMString &media); 00201 00217 HTMLDocument createHTMLDocument(const DOMString& title); 00218 00223 DOMImplementationImpl *handle() const; 00224 bool isNull() const; 00225 00226 protected: 00227 DOMImplementation(DOMImplementationImpl *i); 00228 DOMImplementationImpl *impl; 00229 }; 00230 00245 class Document : public Node 00246 { 00247 friend class ::KHTMLView; 00248 friend class ::KHTMLPart; 00249 friend class AbstractView; 00250 friend class DOMImplementation; 00251 friend class HTMLFrameElement; 00252 friend class HTMLIFrameElement; 00253 friend class HTMLObjectElement; 00254 00255 public: 00256 Document(); 00261 Document(bool); 00262 Document(const Document &other); 00263 Document(const Node &other) : Node() 00264 {(*this)=other;} 00265 00266 Document & operator = (const Node &other); 00267 Document & operator = (const Document &other); 00268 00269 ~Document(); 00270 00280 DocumentType doctype() const; 00281 00288 DOMImplementation implementation() const; 00289 00296 Element documentElement() const; 00297 00316 Element createElement ( const DOMString &tagName ); 00317 00336 Element createElementNS( const DOMString &namespaceURI, 00337 const DOMString &qualifiedName ); 00338 00345 DocumentFragment createDocumentFragment ( ); 00346 00355 Text createTextNode ( const DOMString &data ); 00356 00366 Comment createComment ( const DOMString &data ); 00367 00381 CDATASection createCDATASection ( const DOMString &data ); 00382 00401 ProcessingInstruction createProcessingInstruction ( const DOMString &target, 00402 const DOMString &data ); 00403 00418 Attr createAttribute ( const DOMString &name ); 00419 00448 Attr createAttributeNS( const DOMString &namespaceURI, 00449 const DOMString &qualifiedName ); 00450 00466 EntityReference createEntityReference ( const DOMString &name ); 00467 00481 Element getElementById ( const DOMString &elementId ) const; 00482 00498 NodeList getElementsByTagName ( const DOMString &tagname ); 00499 00516 NodeList getElementsByTagNameNS( const DOMString &namespaceURI, 00517 const DOMString &localName ); 00518 00612 Node importNode( const Node & importedNode, bool deep ); 00613 00618 bool isHTMLDocument() const; 00619 00631 Range createRange(); 00632 00660 NodeIterator createNodeIterator(Node root, unsigned long whatToShow, 00661 NodeFilter filter, 00662 bool entityReferenceExpansion); 00663 00694 TreeWalker createTreeWalker(Node root, unsigned long whatToShow, 00695 NodeFilter filter, 00696 bool entityReferenceExpansion); 00697 00725 Event createEvent(const DOMString &eventType); 00726 00733 AbstractView defaultView() const; 00734 00745 StyleSheetList styleSheets() const; 00746 00752 DOMString preferredStylesheetSet(); 00753 DOMString selectedStylesheetSet(); 00754 void setSelectedStylesheetSet(const DOMString& aString); 00755 00759 KHTMLView *view() const; 00760 00775 CSSStyleDeclaration getOverrideStyle(const Element &elt, 00776 const DOMString &pseudoElt); 00777 00787 bool async() const; 00788 00799 void setAsync( bool ); 00800 00801 00811 void abort(); 00812 00849 void load( const DOMString &uri ); 00850 00870 void loadXML( const DOMString &source ); 00871 00881 bool designMode() const; 00882 00890 void setDesignMode(bool enable); 00891 00897 DOMString completeURL(const DOMString& url); 00898 00905 void updateRendering(); 00906 00907 protected: 00908 Document( DocumentImpl *i); 00909 00910 friend class Node; 00911 }; 00912 00913 class DocumentFragmentImpl; 00914 00957 class DocumentFragment : public Node 00958 { 00959 friend class Document; 00960 friend class HTMLElementImpl; 00961 friend class Range; 00962 00963 public: 00964 DocumentFragment(); 00965 DocumentFragment(const DocumentFragment &other); 00966 DocumentFragment(const Node &other) : Node() 00967 {(*this)=other;} 00968 00969 DocumentFragment & operator = (const Node &other); 00970 DocumentFragment & operator = (const DocumentFragment &other); 00971 00972 ~DocumentFragment(); 00973 00974 protected: 00975 DocumentFragment(DocumentFragmentImpl *i); 00976 }; 00977 00978 class NamedNodeMap; 00979 class DOMString; 00980 00994 class DocumentType : public Node 00995 { 00996 friend class Document; 00997 friend class DOMImplementation; 00998 public: 00999 DocumentType(); 01000 DocumentType(const DocumentType &other); 01001 01002 DocumentType(const Node &other) : Node() 01003 {(*this)=other;} 01004 DocumentType & operator = (const Node &other); 01005 DocumentType & operator = (const DocumentType &other); 01006 01007 ~DocumentType(); 01008 01014 DOMString name() const; 01015 01030 NamedNodeMap entities() const; 01031 01041 NamedNodeMap notations() const; 01042 01048 DOMString publicId() const; 01049 01055 DOMString systemId() const; 01056 01066 DOMString internalSubset() const; 01067 01068 protected: 01069 DocumentType(DocumentTypeImpl *impl); 01070 }; 01071 01072 } //namespace 01073 #endif
KDE Logo
This file is part of the documentation for khtml Library Version 3.2.3.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sat Jun 12 15:09:55 2004 by doxygen 1.3.7 written by Dimitri van Heesch, © 1997-2003