Library: XML
Package: DOM
Header: Poco/DOM/DOMBuilder.h
Description
This class builds a tree representation of an XML document, according to the W3C Document Object Model, Level 1 and 2 specifications.
The actual XML parsing is done by an XMLReader, which must be supplied to the DOMBuilder.
Inheritance
Direct Base Classes: DTDHandler, ContentHandler, LexicalHandler
All Base Classes: ContentHandler, DTDHandler, LexicalHandler
Member Summary
Member Functions: appendNode, characters, comment, endCDATA, endDTD, endDocument, endElement, endEntity, endPrefixMapping, ignorableWhitespace, notationDecl, parse, parseMemoryNP, processingInstruction, setDocumentLocator, setupParse, skippedEntity, startCDATA, startDTD, startDocument, startElement, startEntity, startPrefixMapping, unparsedEntityDecl
Inherited Functions: characters, comment, endCDATA, endDTD, endDocument, endElement, endEntity, endPrefixMapping, ignorableWhitespace, notationDecl, processingInstruction, setDocumentLocator, skippedEntity, startCDATA, startDTD, startDocument, startElement, startEntity, startPrefixMapping, unparsedEntityDecl
Constructors
DOMBuilder
DOMBuilder(
XMLReader & xmlReader,
NamePool * pNamePool = 0,
std::size_t maxDepth = 0
);
Creates a DOMBuilder using the given XMLReader. If a NamePool is given, it becomes the Document's NamePool.
The maxDepth parameter can be used to limit the maximum element depth of the document. This can be used to prevent excessive element depth, which could lead to a stack overflow when destroying the document. A maxDepth of 0 does not limit the depth.
Destructor
~DOMBuilder
virtual ~DOMBuilder();
Destroys the DOMBuilder.
Member Functions
parse
virtual Document * parse(
const XMLString & uri
);
parse
virtual Document * parse(
InputSource * pInputSource
);
Parse an XML document from a location identified by an InputSource.
parseMemoryNP
virtual Document * parseMemoryNP(
const char * xml,
std::size_t size
);
Parses an XML document from memory.
appendNode
void appendNode(
AbstractNode * pNode
);
characters
void characters(
const XMLChar ch[],
int start,
int length
);
See also: Poco::XML::ContentHandler::characters()
comment
void comment(
const XMLChar ch[],
int start,
int length
);
See also: Poco::XML::LexicalHandler::comment()
endCDATA
void endCDATA();
See also: Poco::XML::LexicalHandler::endCDATA()
endDTD
void endDTD();
See also: Poco::XML::LexicalHandler::endDTD()
endDocument
void endDocument();
See also: Poco::XML::ContentHandler::endDocument()
endElement
void endElement(
const XMLString & uri,
const XMLString & localName,
const XMLString & qname
);
See also: Poco::XML::ContentHandler::endElement()
endEntity
void endEntity(
const XMLString & name
);
See also: Poco::XML::LexicalHandler::endEntity()
endPrefixMapping
void endPrefixMapping(
const XMLString & prefix
);
ignorableWhitespace
void ignorableWhitespace(
const XMLChar ch[],
int start,
int length
);
notationDecl
void notationDecl(
const XMLString & name,
const XMLString * publicId,
const XMLString * systemId
);
See also: Poco::XML::DTDHandler::notationDecl()
processingInstruction
void processingInstruction(
const XMLString & target,
const XMLString & data
);
setDocumentLocator
void setDocumentLocator(
const Locator * loc
);
setupParse
void setupParse();
skippedEntity
void skippedEntity(
const XMLString & name
);
startCDATA
void startCDATA();
See also: Poco::XML::LexicalHandler::startCDATA()
startDTD
void startDTD(
const XMLString & name,
const XMLString & publicId,
const XMLString & systemId
);
See also: Poco::XML::LexicalHandler::startDTD()
startDocument
void startDocument();
startElement
void startElement(
const XMLString & uri,
const XMLString & localName,
const XMLString & qname,
const Attributes & attributes
);
startEntity
void startEntity(
const XMLString & name
);
See also: Poco::XML::LexicalHandler::startEntity()
startPrefixMapping
void startPrefixMapping(
const XMLString & prefix,
const XMLString & uri
);
unparsedEntityDecl
void unparsedEntityDecl(
const XMLString & name,
const XMLString * publicId,
const XMLString & systemId,
const XMLString & notationName
);