source: icXML/icXML-devel/src/xercesc/dom/impl/DOMElementNSImpl.hpp @ 2777

Last change on this file since 2777 was 2777, checked in by cameron, 7 years ago

Set up to use xercesc/icxercesc root-relative paths for all includes

File size: 3.5 KB
Line 
1/*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements.  See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License.  You may obtain a copy of the License at
8 *
9 *      http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18/*
19 * $Id: DOMElementNSImpl.hpp 678709 2008-07-22 10:56:56Z borisk $
20 */
21
22#if !defined(XERCESC_INCLUDE_GUARD_DOMELEMENTNSIMPL_HPP)
23#define XERCESC_INCLUDE_GUARD_DOMELEMENTNSIMPL_HPP
24
25//
26//  This file is part of the internal implementation of the C++ XML DOM.
27//  It should NOT be included or used directly by application programs.
28//
29//  Applications should include the file <xercesc/dom/DOM.hpp> for the entire
30//  DOM API, or xercesc/dom/DOM*.hpp for individual DOM classes, where the class
31//  name is substituded for the *.
32//
33
34
35#include <xercesc/dom/impl/DOMElementImpl.hpp>
36
37XERCES_CPP_NAMESPACE_BEGIN
38
39class DOMTypeInfoImpl;
40
41class CDOM_EXPORT DOMElementNSImpl: public DOMElementImpl {
42protected:
43    //Introduced in DOM Level 2
44    const XMLCh * fNamespaceURI;     //namespace URI of this node
45    const XMLCh * fLocalName;        //local part of qualified name
46    const XMLCh * fPrefix;
47    const DOMTypeInfoImpl *fSchemaType;
48
49public:
50    DOMElementNSImpl(DOMDocument *ownerDoc, const XMLCh *name);
51    DOMElementNSImpl(DOMDocument *ownerDoc, //DOM Level 2
52                     const XMLCh *namespaceURI,
53                     const XMLCh *qualifiedName);
54    DOMElementNSImpl(const DOMElementNSImpl &other, bool deep=false);
55
56    // Fast construction without any checks for name validity. Used in
57    // parsing.
58    //
59    DOMElementNSImpl(DOMDocument *ownerDoc,
60                     const XMLCh *namespaceURI,
61                     const XMLCh *prefix,        // Null or empty - no prefix.
62                     const XMLCh *localName,
63                     const XMLCh *qualifiedName);
64
65    virtual DOMNode * cloneNode(bool deep) const;
66    virtual bool isSupported(const XMLCh *feature, const XMLCh *version) const;
67    virtual void* getFeature(const XMLCh* feature, const XMLCh* version) const;
68
69    //Introduced in DOM Level 2
70    virtual const XMLCh *getNamespaceURI() const;
71    virtual const XMLCh *getPrefix() const;
72    virtual const XMLCh *getLocalName() const;
73    virtual void         setPrefix(const XMLCh *prefix);
74    virtual void         release();
75
76    //Introduced in DOM Level 3
77    virtual const DOMTypeInfo * getSchemaTypeInfo() const;
78
79   // helper function for DOM Level 3 renameNode
80   virtual DOMNode* rename(const XMLCh* namespaceURI, const XMLCh* name);
81   void setName(const XMLCh* namespaceURI, const XMLCh* name);
82
83    //helper function for DOM Level 3 TypeInfo
84    virtual void setSchemaTypeInfo(const DOMTypeInfoImpl* typeInfo);
85
86private:
87    // -----------------------------------------------------------------------
88    // Unimplemented constructors and operators
89    // -----------------------------------------------------------------------
90    DOMElementNSImpl & operator = (const DOMElementNSImpl &);
91};
92
93XERCES_CPP_NAMESPACE_END
94
95#endif
Note: See TracBrowser for help on using the repository browser.