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  

XercesElementWrapper.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(XERCESELEMENTWRAPPER_HEADER_GUARD_1357924680)
00017 #define XERCESELEMENTWRAPPER_HEADER_GUARD_1357924680
00018 
00019 
00020 
00021 #include <xalanc/XercesParserLiaison/XercesParserLiaisonDefinitions.hpp>
00022 
00023 
00024 
00025 #include <xalanc/XalanDOM/XalanElement.hpp>
00026 #include <xalanc/XalanDOM/XalanNodeList.hpp>
00027 
00028 
00029 
00030 #include <xalanc/PlatformSupport/DOMStringHelper.hpp>
00031 
00032 
00033 
00034 #include <xalanc/XercesParserLiaison/XercesNamedNodeMapWrapper.hpp>
00035 #include <xalanc/XercesParserLiaison/XercesWrapperTypes.hpp>
00036 
00037 
00038 
00039 XALAN_CPP_NAMESPACE_BEGIN
00040 
00041 
00042 
00043 class XercesWrapperNavigator;
00044 
00045 
00046 
00047 class XALAN_XERCESPARSERLIAISON_EXPORT XercesElementWrapper : public XalanElement, private XalanNodeList
00048 {
00049 public:
00050 
00051     XercesElementWrapper(
00052             const DOMElementType*           theXercesElement,
00053             const XercesWrapperNavigator&   theNavigator);
00054 
00055     virtual
00056     ~XercesElementWrapper();
00057 
00058 
00062     virtual const XalanDOMString&
00063     getNodeName() const;
00064 
00068     virtual const XalanDOMString&
00069     getNodeValue() const;
00070 
00074     virtual NodeType
00075     getNodeType() const;
00076 
00086     virtual XalanNode*
00087     getParentNode() const;
00088 
00102     virtual const XalanNodeList*
00103     getChildNodes() const;
00104 
00110     virtual XalanNode*
00111     getFirstChild() const;
00112 
00118     virtual XalanNode*
00119     getLastChild() const;
00120 
00126     virtual XalanNode*
00127     getPreviousSibling() const;
00128 
00134     virtual XalanNode*
00135     getNextSibling() const;
00136 
00141     virtual const XalanNamedNodeMap*
00142     getAttributes() const;
00143 
00153     virtual XalanDocument*
00154     getOwnerDocument() const;
00155 
00157 
00159 
00178 #if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
00179     virtual XalanNode*
00180 #else
00181     virtual XercesElementWrapper*
00182 #endif
00183     cloneNode(bool deep) const;
00184 
00186 
00188 
00205     virtual XalanNode*
00206     insertBefore(
00207             XalanNode*  newChild,
00208             XalanNode*  refChild);
00209 
00223     virtual XalanNode*
00224     replaceChild(
00225             XalanNode*  newChild,
00226             XalanNode*  oldChild);
00227 
00235     virtual XalanNode*
00236     removeChild(XalanNode*  oldChild);
00237 
00249     virtual XalanNode*
00250     appendChild(XalanNode*  newChild);
00251 
00253 
00255 
00263     virtual bool
00264     hasChildNodes() const;
00265 
00266 
00268 
00270 
00271 
00285     virtual void
00286     setNodeValue(const XalanDOMString&      nodeValue);
00287 
00289 
00291 
00308     virtual void
00309     normalize();
00310 
00324     virtual bool
00325     isSupported(
00326             const XalanDOMString&   feature,
00327             const XalanDOMString&   version) const;
00328 
00342     virtual const XalanDOMString&
00343     getNamespaceURI() const;
00344 
00349     virtual const XalanDOMString&
00350     getPrefix() const;
00351 
00359     virtual const XalanDOMString&
00360     getLocalName() const;
00361 
00391     virtual void
00392     setPrefix(const XalanDOMString& prefix);
00393 
00394     virtual bool
00395     isIndexed() const;
00396 
00397     virtual IndexType
00398     getIndex() const;
00399 
00401 
00402     // These interfaces are inherited from XalanElement...
00403 
00412     virtual const XalanDOMString&
00413     getTagName() const;
00414 
00422     virtual const XalanDOMString&
00423     getAttribute(const XalanDOMString&      name) const;
00424 
00432     virtual XalanAttr*
00433     getAttributeNode(const XalanDOMString&      name) const;
00434 
00445     virtual XalanNodeList*
00446     getElementsByTagName(const XalanDOMString&      name) const;
00447 
00449 
00451 
00473     virtual void
00474     setAttribute(
00475             const XalanDOMString&   name, 
00476             const XalanDOMString&   value);
00477 
00497     virtual XalanAttr*
00498     setAttributeNode(XalanAttr*     newAttr);
00499 
00501 
00503     
00519     virtual XalanAttr*
00520     removeAttributeNode(XalanAttr*  oldAttr);
00521 
00534     virtual void
00535     removeAttribute(const XalanDOMString&   name);
00536 
00538 
00540 
00551     virtual const XalanDOMString&
00552     getAttributeNS(
00553             const XalanDOMString&   namespaceURI,
00554             const XalanDOMString&   localName) const;
00555 
00596     virtual void
00597     setAttributeNS(
00598             const XalanDOMString&   namespaceURI,
00599             const XalanDOMString&   qualifiedName,
00600             const XalanDOMString&   value);
00601 
00616     virtual void
00617     removeAttributeNS(
00618             const XalanDOMString&   namespaceURI,
00619             const XalanDOMString&   localName);
00620 
00631     virtual XalanAttr*
00632     getAttributeNodeNS(
00633             const XalanDOMString&   namespaceURI,
00634             const XalanDOMString&   localName) const;
00635 
00655     virtual XalanAttr*
00656     setAttributeNodeNS(XalanAttr*   newAttr);
00657 
00673     virtual XalanNodeList*
00674     getElementsByTagNameNS(
00675             const XalanDOMString&   namespaceURI,
00676             const XalanDOMString&   localName) const;
00677 
00683     const DOMElementType*
00684     getXercesNode() const
00685     {
00686         return m_xercesNode;
00687     }
00688 
00690 
00691 private:
00692 
00693     // Implementation of XalanNodeList for children.
00694     virtual XalanNode*
00695     item(unsigned int   index) const;
00696 
00697     virtual unsigned int
00698     getLength() const;
00699 
00700 
00701     // Not implemented...
00702     XercesElementWrapper(const XercesElementWrapper&    theSource);
00703 
00704     XalanNode&
00705     operator=(const XalanNode&  theSource);
00706 
00707     bool
00708     operator==(const XercesElementWrapper&  theRHS) const;
00709 
00710     // Data members...
00711     const DOMElementType* const     m_xercesNode;
00712 
00713     const XercesWrapperNavigator&   m_navigator;
00714 
00715     XercesNamedNodeMapWrapper       m_attributes;
00716 };
00717 
00718 
00719 
00720 XALAN_CPP_NAMESPACE_END
00721 
00722 
00723 
00724 #endif  // !defined(XERCESELEMENTWRAPPER_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