Rationale
From wiki
This section lists some design decisions that have been 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