It seems clear that I'm a little confused about the DOMLSInput class.
The docs http://xerces.apache.org/xerces-c/apiDocs-3/classDOMLSInput.htm
tell us: "This interface allows an application to encapsulate
information about an input source in a single object, which may
include a public identifier, a system identifier, a byte stream
(possibly with a specified encoding), and/or a character stream."
This implies (to me) that the SystemId may be NULL, which makes sense
to me, especially when loading up a document which is yet to be parsed.
But then the DOMLSInput.hpp file says
* <p>The system id is always required. The public id may be used
to map
* to another system id, but the system id must always be present
as a fall
* back.</p>
*
The master document at http://www.w3.org/TR/DOM-Level-3-LS/load-save.html
says:
The system identifier, a URI reference [IETF RFC 2396], for this input
source. The system identifier is optional if there is a byte stream, a
character stream, or string data.
So - there seems to be a difference of opinion. Anyone care to
explain what is going on?