Description
Some of our parsers need to be able to go back and forth within a source document, so need either a file or (for smaller documents) an in-memory buffer that contains the full document. Currently we use temporary files for such cases, which in some cases means doing an extra copy of a file before it gets parsed. We should come up with some way for clients to pass in a file or a memory buffer if one is available.