29 #ifndef Pt_Xml_DocTypeDefinition_h
30 #define Pt_Xml_DocTypeDefinition_h
32 #include <Pt/Xml/Api.h>
33 #include <Pt/Xml/Node.h>
34 #include <Pt/Xml/QName.h>
35 #include <Pt/String.h>
37 #include <Pt/NonCopyable.h>
46 class AttributeListModel;
50 class DocTypeDefinition;
74 bool isDefined()
const;
78 const QName& rootName()
const;
100 void removeParamEntity(
const Pt::String& name);
113 ContentModel& declareContent(
const QName& name);
116 AttributeListModel& declareAttributeList(
const QName& name);
119 ElementModel* findElement(
const QName& name);
122 AttributeListModel* findAttributes(
const QName& name);
125 typedef std::vector<ElementModel*> Elements;
126 typedef std::vector<Notation*> Notations;
127 typedef std::vector<Entity*> Entities;
132 Entities _paramEntities;
133 Notations _notations;
142 #endif // Pt_Xml_DocTypeDefinition_h
Protects derived classes from being copied.
Definition: NonCopyable.h:54
A qualified XML name.
Definition: QName.h:46
The DocTypeDefinition of an XML document.
Definition: DocTypeDefinition.h:57
An entity declaration in a DTD.
Definition: Entity.h:44
Unicode capable basic_string.
Definition: String.h:42
A notation declaration in a DTD.
Definition: Notation.h:41