1//
2// DTDMap.h
3//
4// Library: XML
5// Package: DOM
6// Module: DOM
7//
8// Definition of the DTDMap 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
16
17#ifndef DOM_DTDMap_INCLUDED
18#define DOM_DTDMap_INCLUDED
19
20
21#include "Poco/XML/XML.h"
22#include "Poco/DOM/NamedNodeMap.h"
23
24
25namespace Poco {
26namespace XML {
27
28
29class DocumentType;
30
31
32class XML_API DTDMap: public NamedNodeMap
33 /// This implementation of NamedNodeMap
34 /// is returned by DocumentType::entities()
35 /// and DocumentType::notations().
36{
37public:
38 Node* getNamedItem(const XMLString& name) const;
39 Node* setNamedItem(Node* arg);
40 Node* removeNamedItem(const XMLString& name);
41 Node* item(unsigned long index) const;
42 unsigned long length() const;
43
44 Node* getNamedItemNS(const XMLString& namespaceURI, const XMLString& localName) const;
45 Node* setNamedItemNS(Node* arg);
46 Node* removeNamedItemNS(const XMLString& namespaceURI, const XMLString& localName);
47
48 void autoRelease();
49
50protected:
51 DTDMap(const DocumentType* pDocumentType, unsigned short type);
52 ~DTDMap();
53
54private:
55 DTDMap();
56
57 const DocumentType* _pDocumentType;
58 unsigned short _type;
59
60 friend class DocumentType;
61};
62
63
64} } // namespace Poco::XML
65
66
67#endif // DOM_DTDMap_INCLUDED
68