xmltooling::ParserPool Class Reference

A thread-safe pool of DOMBuilders that share characteristics. More...

`#include <xmltooling/util/ParserPool.h>`

Inheritance diagram for xmltooling::ParserPool:
[legend]
Collaboration diagram for xmltooling::ParserPool:
[legend]

## Public Member Functions

| ParserPool (bool namespaceAware=true, bool schemaAware=false)
| Constructs a new pool.
xercesc::DOMDocument * | newDocument ()
| Creates a new document using a parser from this pool.
xercesc::DOMDocument * | parse (xercesc::DOMLSInput &domsrc)
| Parses a document using a pooled parser with the proper settings.
xercesc::DOMDocument * | parse (std::istream &is)
| Parses a document using a pooled parser with the proper settings.
bool | loadCatalogs (const char *pathnames)
| Load OASIS catalog files to map schema namespace URIs to filenames.
bool | loadCatalog (const char *pathname)
| Load an OASIS catalog file to map schema namespace URIs to filenames.
bool | loadCatalog (const XMLCh *pathname)
| Load an OASIS catalog file to map schema namespace URIs to filenames.
bool | loadSchema (const XMLCh *nsURI, const XMLCh *pathname)
| Load a schema explicitly from a local file.
xercesc::DOMLSInput * | resolveResource (const XMLCh *const resourceType, const XMLCh *const namespaceUri, const XMLCh *const publicId, const XMLCh *const systemId, const XMLCh *const baseURI)
| Supplies all external entities (primarily schemas) to the parser.

## Detailed Description

A thread-safe pool of DOMBuilders that share characteristics.

## Constructor & Destructor Documentation

## ParserPool()

xmltooling::ParserPool::ParserPool | ( | bool | namespaceAware = true,
|  | bool | schemaAware = false )

Constructs a new pool.

Parameters

  namespaceAware | indicates whether parsers should be namespace-aware or not
  schemaAware | indicates whether parsers should be schema-validating or not

## Member Function Documentation

## loadCatalog() [1/2]

bool xmltooling::ParserPool::loadCatalog | ( | const char * | pathname | ) |

Load an OASIS catalog file to map schema namespace URIs to filenames.

This does not provide real catalog support; only the <uri> element is supported to map from a namespace URI to a relative path or file:// URI.

Parameters

  pathname | path to a catalog file

Returns
  true iff the catalog was successfully processed

## loadCatalog() [2/2]

bool xmltooling::ParserPool::loadCatalog | ( | const XMLCh * | pathname | ) |

Load an OASIS catalog file to map schema namespace URIs to filenames.

This does not provide real catalog support; only the <uri> element is supported to map from a namespace URI to a relative path or file:// URI.

Parameters

  pathname | path to a catalog file

Returns
  true iff the catalog was successfully processed

## loadCatalogs()

bool xmltooling::ParserPool::loadCatalogs | ( | const char * | pathnames | ) |

Load OASIS catalog files to map schema namespace URIs to filenames.

This does not provide real catalog support; only the <uri> element is supported to map from a namespace URI to a relative path or file:// URI.

Multiple files can be specified using a platform-specific path delimiter.

Parameters

  pathname | path to one or more catalog files

Returns
  true iff the catalogs were successfully processed

## loadSchema()

bool xmltooling::ParserPool::loadSchema | ( | const XMLCh * | nsURI,
|  | const XMLCh * | pathname )

Load a schema explicitly from a local file.

Note that "successful processing" does not imply that the schema is valid, only that a reference to it was successfully registered with the pool.

Parameters

  nsURI | XML namespace to load
  pathname | path to schema file

Returns
  true iff the schema was successfully processed

## newDocument()

xercesc::DOMDocument * xmltooling::ParserPool::newDocument | ( |  | ) |

Creates a new document using a parser from this pool.

Returns
  new XML document

## parse() [1/2]

xercesc::DOMDocument * xmltooling::ParserPool::parse | ( | std::istream & | is | ) |

Parses a document using a pooled parser with the proper settings.

Parameters

  is | An input stream containing the content to be parsed

Returns
  The DOM document resulting from the parse

Exceptions

  XMLParserException | thrown if there was a problem reading, parsing, or validating the XML

## parse() [2/2]

xercesc::DOMDocument * xmltooling::ParserPool::parse | ( | xercesc::DOMLSInput & | domsrc | ) |

Parses a document using a pooled parser with the proper settings.

Parameters

  domsrc | An input source containing the content to be parsed

Returns
  The DOM document resulting from the parse

Exceptions

  XMLParserException | thrown if there was a problem reading, parsing, or validating the XML

The documentation for this class was generated from the following file:

- xmltooling/util/ParserPool.h