Xalan-C++ API Documentation

The Xalan C++ XSLT Processor Version 1.10

Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

XalanDocument.hpp

Go to the documentation of this file.
00001 /*
00002  * Copyright 1999-2004 The Apache Software Foundation.
00003  *
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  *
00008  *     http://www.apache.org/licenses/LICENSE-2.0
00009  *
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
00015  */
00016 #if !defined(XALANDOCUMENT_HEADER_GUARD_1357924680)
00017 #define XALANDOCUMENT_HEADER_GUARD_1357924680
00018 
00019 
00020 
00021 #include <xalanc/XalanDOM/XalanDOMDefinitions.hpp>
00022 #include <xalanc/XalanDOM/XalanNode.hpp>
00023 
00024 
00025 
00026 XALAN_CPP_NAMESPACE_BEGIN
00027 
00028 
00029 
00030 class XalanAttr;
00031 class XalanCDATASection;
00032 class XalanComment;
00033 class XalanDocumentFragment;
00034 class XalanDocumentType;
00035 class XalanDOMImplementation;
00036 class XalanElement;
00037 class XalanEntityReference;
00038 class XalanProcessingInstruction;
00039 class XalanText;
00040 
00041 
00042 
00043 /*
00044  * <meta name="usage" content="experimental"/>
00045  *
00046  * Base class for the DOM Document interface.
00047  *
00048  * This class is experimental and subject to change!!
00049  */
00050 
00051 class XALAN_DOM_EXPORT XalanDocument : public XalanNode
00052 {
00053 public:
00054 
00055     XalanDocument();
00056 
00057     virtual
00058     ~XalanDocument();
00059 
00060     // These interfaces are inherited from XalanNode...
00061 
00062     virtual const XalanDOMString&
00063     getNodeName() const = 0;
00064 
00068     virtual const XalanDOMString&
00069     getNodeValue() const = 0;
00070 
00074     virtual NodeType
00075     getNodeType() const = 0;
00076 
00086     virtual XalanNode*
00087     getParentNode() const = 0;
00088 
00102     virtual const XalanNodeList*
00103     getChildNodes() const = 0;
00104 
00110     virtual XalanNode*
00111     getFirstChild() const = 0;
00112 
00118     virtual XalanNode*
00119     getLastChild() const = 0;
00120 
00126     virtual XalanNode*
00127     getPreviousSibling() const = 0;
00128 
00134     virtual XalanNode*
00135     getNextSibling() const = 0;
00136 
00141     virtual const XalanNamedNodeMap*
00142     getAttributes() const = 0;
00143 
00153     virtual XalanDocument*
00154     getOwnerDocument() const = 0;
00155 
00157 
00159 
00178 #if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
00179     virtual XalanNode*
00180 #else
00181     virtual XalanDocument*
00182 #endif
00183     cloneNode(bool deep) const = 0;
00184 
00186 
00188 
00205     virtual XalanNode*
00206     insertBefore(
00207             XalanNode*  newChild,
00208             XalanNode*  refChild) = 0;
00209 
00223     virtual XalanNode*
00224     replaceChild(
00225             XalanNode*  newChild,
00226             XalanNode*  oldChild) = 0;
00227 
00235     virtual XalanNode*
00236     removeChild(XalanNode*  oldChild) = 0;
00237 
00249     virtual XalanNode*
00250     appendChild(XalanNode*  newChild) = 0;
00251 
00253 
00255 
00263     virtual bool
00264     hasChildNodes() const = 0;
00265 
00266 
00268 
00270 
00271 
00285     virtual void
00286     setNodeValue(const XalanDOMString&      nodeValue) = 0;
00287 
00289 
00291 
00308     virtual void
00309     normalize() = 0;
00310 
00324     virtual bool
00325     isSupported(
00326             const XalanDOMString&   feature,
00327             const XalanDOMString&   version) const = 0;
00328 
00342     virtual const XalanDOMString&
00343     getNamespaceURI() const = 0;
00344 
00349     virtual const XalanDOMString&
00350     getPrefix() const = 0;
00351 
00359     virtual const XalanDOMString&
00360     getLocalName() const = 0;
00361 
00391     virtual void
00392     setPrefix(const XalanDOMString& prefix) = 0;
00393 
00399     virtual bool
00400     isIndexed() const = 0;
00401 
00408     virtual IndexType
00409     getIndex() const = 0;
00410 
00412 
00413     // These interfaces are new to XalanDocument...
00414 
00424     virtual XalanElement*
00425     createElement(const XalanDOMString& tagName) = 0;
00426 
00433     virtual XalanDocumentFragment*
00434     createDocumentFragment() = 0;
00435 
00443     virtual XalanText*
00444     createTextNode(const XalanDOMString&    data) = 0;
00445 
00453     virtual XalanComment*
00454     createComment(const XalanDOMString& data) = 0;
00455 
00465     virtual XalanCDATASection*
00466     createCDATASection(const XalanDOMString&    data) = 0;
00467 
00479     virtual XalanProcessingInstruction*
00480     createProcessingInstruction(
00481             const XalanDOMString&   target,
00482             const XalanDOMString&   data) = 0;
00483 
00500     virtual XalanAttr*
00501     createAttribute(const XalanDOMString&   name) = 0;
00502 
00513     virtual XalanEntityReference*
00514     createEntityReference(const XalanDOMString &name) = 0;
00515 
00517 
00519 
00528     virtual XalanDocumentType*
00529     getDoctype() const = 0;
00530 
00531 
00535     virtual XalanDOMImplementation*
00536     getImplementation() const = 0;
00537 
00538 
00542     virtual XalanElement*
00543     getDocumentElement() const = 0;
00544 
00559     virtual XalanNodeList*
00560     getElementsByTagName(const XalanDOMString&      tagname) const = 0;
00561 
00563 
00565 
00588     virtual XalanNode*
00589     importNode(
00590             XalanNode*  importedNode,
00591             bool        deep) = 0;
00592 
00615     virtual XalanElement*
00616     createElementNS(
00617             const XalanDOMString&   namespaceURI,
00618             const XalanDOMString&   qualifiedName) = 0;
00619 
00648     virtual XalanAttr*
00649     createAttributeNS(
00650             const XalanDOMString& namespaceURI,
00651             const XalanDOMString& qualifiedName) = 0;
00652 
00669     virtual XalanNodeList*
00670     getElementsByTagNameNS(
00671             const XalanDOMString&   namespaceURI,
00672             const XalanDOMString&   localName) const = 0;
00673 
00689     virtual XalanElement*
00690     getElementById(const XalanDOMString&    elementId) const = 0;
00691 
00693 
00694 protected:
00695 
00696     XalanDocument(const XalanDocument&  theSource);
00697 
00698     XalanDocument&
00699     operator=(const XalanDocument&  theSource);
00700 
00701     bool
00702     operator==(const XalanDocument&     theRHS) const;
00703 
00704 private:
00705 };
00706 
00707 
00708 
00709 XALAN_CPP_NAMESPACE_END
00710 
00711 
00712 
00713 #endif  // !defined(XALANDOCUMENT_HEADER_GUARD_1357924680)

Interpreting class diagrams

Doxygen and GraphViz are used to generate this API documentation from the Xalan-C header files.

dot

Xalan-C++ XSLT Processor Version 1.10
Copyright © 1999-2004 The Apache Software Foundation. All Rights Reserved.

Apache Logo