[#BloombergLP-balxml-Utf8ReaderWrapper-open-00] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/balxml.adoc[balxml]::xref:BloombergLP/balxml/Utf8ReaderWrapper.adoc[Utf8ReaderWrapper]::open :relfileprefix: ../../../ :mrdocs: Set up the reader for parsing the XML data in the specified `stream`. == Synopsis Declared in `<balxml_utf8readerwrapper.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- virtual int open( std::streambuf* stream, char const* url = 0, char const* encoding = 0) override; ---- == Description Set the base URL to the optionally specified `url` and set the encoding value to the optionally specified `encoding` ("ASCII", "UTF‐8", etc). Return 0 on success and non‐zero otherwise. If `url` is null or a blank string is passed, then base URL will be empty. The encoding passed to `Reader::open` will take effect only when there is no encoding information in the original document, i.e., the encoding information obtained from the (XML) `stream` trumps all. If there is no encoding provided within the document and `encoding` is null or a blank string is passed, then set the encoding to the default "UTF‐8". It is an error to `open` a reader that is already open. Note that the reader will not be on a valid node until `advanceToNextNode` is called. == Return Value 0 on success, and a non‐zero value otherwise == Parameters [cols="1,4"] |=== | Name| Description | *stream* | stream buffer containing the XML document | *url* | optional base URL for the document | *encoding* | optional document encoding override |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#