#ifndef JEZUK_SAX2DOM_DOCUMENTTYPEIMPL_H #define JEZUK_SAX2DOM_DOCUMENTTYPEIMPL_H #include namespace SAX2DOM { template class DocumentType : public SimpleDOM::DocumentTypeImpl { typedef SimpleDOM::DocumentTypeImpl BaseDT; public: DocumentType(const stringT& qualifiedName, const stringT& publicId, const stringT& systemId) : BaseDT(qualifiedName, publicId, systemId) { } // DocumentType virtual ~DocumentType() { } ////////////////////////////////////////////////////// // DOM::DOMImplementation extensions void addEntity(SimpleDOM::EntityImpl* entity) { BaseDT::addEntity(entity); } // addEntity void addNotation(SimpleDOM::NotationImpl* notation) { BaseDT::addNotation(notation); } // addNotation void addElement(SimpleDOM::ElementImpl* element) { BaseDT::addElement(element); } // addElement void addDefaultAttr(const stringT& elementName, const stringT& attributeName, const stringT& attributeValue) { SimpleDOM::ElementImpl* elem = dynamic_cast*>(getElements()->getNamedItem(elementName)); SimpleDOM::AttrImpl* attr = new SimpleDOM::AttrImpl(ownerDoc_, attributeName); attr->setValue(attributeValue); attr->setSpecified(false); elem->setAttributeNode(attr); } // addDefaultAttr void addElementId(const stringT& elementName) { BaseDT::addElementId(elementName); } // addElementId }; // class DOMImplementation } // namespace SAX2DOM #endif // end of file