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.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Thu Mar 3 19:24:46 2005 by doxygen 1.3.6 written by Dimitri van Heesch, © 1997-2003