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 00899 DOMString toString() const; 00900 00907 void updateRendering(); 00908 00909 Document( DocumentImpl *i); 00910 protected: 00911 00912 friend class Node; 00913 }; 00914 00915 class DocumentFragmentImpl; 00916 00959 class DocumentFragment : public Node 00960 { 00961 friend class Document; 00962 friend class HTMLElementImpl; 00963 friend class Range; 00964 00965 public: 00966 DocumentFragment(); 00967 DocumentFragment(const DocumentFragment &other); 00968 DocumentFragment(const Node &other) : Node() 00969 {(*this)=other;} 00970 00971 DocumentFragment & operator = (const Node &other); 00972 DocumentFragment & operator = (const DocumentFragment &other); 00973 00974 ~DocumentFragment(); 00975 00976 protected: 00977 DocumentFragment(DocumentFragmentImpl *i); 00978 }; 00979 00980 class NamedNodeMap; 00981 class DOMString; 00982 00996 class DocumentType : public Node 00997 { 00998 friend class Document; 00999 friend class DOMImplementation; 01000 public: 01001 DocumentType(); 01002 DocumentType(const DocumentType &other); 01003 01004 DocumentType(const Node &other) : Node() 01005 {(*this)=other;} 01006 DocumentType & operator = (const Node &other); 01007 DocumentType & operator = (const DocumentType &other); 01008 01009 ~DocumentType(); 01010 01016 DOMString name() const; 01017 01032 NamedNodeMap entities() const; 01033 01043 NamedNodeMap notations() const; 01044 01050 DOMString publicId() const; 01051 01057 DOMString systemId() const; 01058 01068 DOMString internalSubset() const; 01069 01070 protected: 01071 DocumentType(DocumentTypeImpl *impl); 01072 }; 01073 01074 } //namespace 01075 #endif
KDE Logo
This file is part of the documentation for khtml Library Version 3.3.0.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Wed Sep 29 09:44:53 2004 by doxygen 1.3.8 written by Dimitri van Heesch, © 1997-2003