Difference between revisions of "Rationale"

From wiki
Jump to: navigation, search
Line 7: Line 7:
 
* a destructor must not throw
 
* a destructor must not throw
 
* anyway it's simple enough to re-open the output stream with an input stream for validation afterwards
 
* anyway it's simple enough to re-open the output stream with an input stream for validation afterwards
 +
 +
== Document type definitions (DTD) cannot be specified with an external grammar ==
 +
* see [http://mail-archives.apache.org/mod_mbox/xerces-c-users/200605.mbox/%3Ce5jj27$vh$2@sea.gmane.org%3E this thread] for details

Revision as of 21:03, 4 July 2009

This section lists some design decisions that have been made during the development of the library.

The output streams do not accept a grammar during construction for validation

  • validation can only occur once the document is complete
  • failed validation usually throws an exception
  • the xml::xofstream uses RAII to flush the document to file in its destructor
  • a destructor must not throw
  • anyway it's simple enough to re-open the output stream with an input stream for validation afterwards

Document type definitions (DTD) cannot be specified with an external grammar