File indexing completed on 2025-01-30 10:27:00
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022 #if !defined(XERCESC_INCLUDE_GUARD_DOMATTRMAPIMPL_HPP)
0023 #define XERCESC_INCLUDE_GUARD_DOMATTRMAPIMPL_HPP
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034 #include <xercesc/util/XercesDefs.hpp>
0035 #include <xercesc/dom/DOMNamedNodeMap.hpp>
0036
0037 XERCES_CPP_NAMESPACE_BEGIN
0038
0039 class DOMNode;
0040 class DOMNodeVector;
0041
0042 class CDOM_EXPORT DOMAttrMapImpl : public DOMNamedNodeMap
0043 {
0044 protected:
0045 DOMNodeVector* fNodes;
0046 DOMNode* fOwnerNode;
0047 bool attrDefaults;
0048
0049 virtual void cloneContent(const DOMAttrMapImpl *srcmap);
0050
0051 bool readOnly();
0052
0053 public:
0054 DOMAttrMapImpl(DOMNode *ownerNod);
0055
0056
0057
0058
0059 DOMAttrMapImpl(DOMNode *ownerNod, const DOMAttrMapImpl *defaults);
0060 DOMAttrMapImpl();
0061
0062 virtual ~DOMAttrMapImpl();
0063 virtual DOMAttrMapImpl *cloneAttrMap(DOMNode *ownerNode);
0064 virtual bool hasDefaults();
0065 virtual void hasDefaults(bool value);
0066 virtual int findNamePoint(const XMLCh *name) const;
0067 virtual int findNamePoint(const XMLCh *namespaceURI,
0068 const XMLCh *localName) const;
0069 virtual DOMNode* removeNamedItemAt(XMLSize_t index);
0070 virtual void setReadOnly(bool readOnly, bool deep);
0071
0072
0073 virtual XMLSize_t getLength() const;
0074 virtual DOMNode* item(XMLSize_t index) const;
0075
0076 virtual DOMNode* getNamedItem(const XMLCh *name) const;
0077 virtual DOMNode* setNamedItem(DOMNode *arg);
0078 virtual DOMNode* removeNamedItem(const XMLCh *name);
0079
0080 virtual DOMNode* getNamedItemNS(const XMLCh *namespaceURI,
0081 const XMLCh *localName) const;
0082 virtual DOMNode* setNamedItemNS(DOMNode *arg);
0083 virtual DOMNode* removeNamedItemNS(const XMLCh *namespaceURI, const XMLCh *localName);
0084
0085
0086
0087
0088
0089 void setNamedItemFast(DOMNode *arg);
0090 void setNamedItemNSFast(DOMNode *arg);
0091
0092
0093
0094
0095 void reserve (XMLSize_t);
0096
0097 void reconcileDefaultAttributes(const DOMAttrMapImpl* defaults);
0098 void moveSpecifiedAttributes(DOMAttrMapImpl* srcmap);
0099
0100 private:
0101
0102
0103
0104 DOMAttrMapImpl(const DOMAttrMapImpl &);
0105 DOMAttrMapImpl & operator = (const DOMAttrMapImpl &);
0106 };
0107
0108
0109
0110
0111
0112 inline bool DOMAttrMapImpl::hasDefaults()
0113 {
0114 return attrDefaults;
0115 }
0116
0117 inline void DOMAttrMapImpl::hasDefaults(bool value)
0118 {
0119 attrDefaults = value;
0120 }
0121
0122 XERCES_CPP_NAMESPACE_END
0123
0124
0125 #endif