AttrMap.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. //
  2. // AttrMap.h
  3. //
  4. // Library: XML
  5. // Package: DOM
  6. // Module: DOM
  7. //
  8. // Definition of the AttrMap class.
  9. //
  10. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
  11. // and Contributors.
  12. //
  13. // SPDX-License-Identifier: BSL-1.0
  14. //
  15. #ifndef DOM_AttrMap_INCLUDED
  16. #define DOM_AttrMap_INCLUDED
  17. #include "Poco/XML/XML.h"
  18. #include "Poco/DOM/NamedNodeMap.h"
  19. namespace Poco {
  20. namespace XML {
  21. class Element;
  22. class XML_API AttrMap: public NamedNodeMap
  23. // This implementation of NamedNodeMap is
  24. // returned by Element::attributes()
  25. {
  26. public:
  27. Node* getNamedItem(const XMLString& name) const;
  28. Node* setNamedItem(Node* arg);
  29. Node* removeNamedItem(const XMLString& name);
  30. Node* item(unsigned long index) const;
  31. unsigned long length() const;
  32. Node* getNamedItemNS(const XMLString& namespaceURI, const XMLString& localName) const;
  33. Node* setNamedItemNS(Node* arg);
  34. Node* removeNamedItemNS(const XMLString& namespaceURI, const XMLString& localName);
  35. void autoRelease();
  36. protected:
  37. AttrMap(Element* pElement);
  38. ~AttrMap();
  39. private:
  40. AttrMap();
  41. Element* _pElement;
  42. friend class Element;
  43. };
  44. } } // namespace Poco::XML
  45. #endif // DOM_AttrMap_INCLUDED