Difference between revisions of "Rationale"
From wiki
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
- see this thread for details