[#BloombergLP-balxml] = xref:BloombergLP.adoc[BloombergLP]::balxml :relfileprefix: ../ :mrdocs: Namespace for XML encoding, decoding, and formatting components. == Types [cols="1,4"] |=== | Name| Description | xref:BloombergLP/balxml/Base64Parser.adoc[`Base64Parser`] | This is a push parser for supported Base64 types (`bsl::vector<char>` or `bsl::string`). | xref:BloombergLP/balxml/ConfigSchema.adoc[`ConfigSchema`] | Provide a namespace for the service configuration schema. | xref:BloombergLP/balxml/Decoder.adoc[`Decoder`] | Engine for decoding value‐semantic objects in XML format. The `decode` methods are function templates that will decode any object that meets the requirements of a sequence or choice object as defined in the `bdlat_sequencefunctions` and `bdlat_choicefunctions` components. These generic frameworks provide a common compile‐time interface for manipulating struct‐like and union‐like objects. | xref:BloombergLP/balxml/DecoderOptions.adoc[`DecoderOptions`] | Options for controlling the XML decoding process. The generated C++ code for this schema element is created by using bas_codegen.pl, run by balxml/code_from_xsd.pl with no hand‐editing. | xref:BloombergLP/balxml/Decoder_ChoiceContext.adoc[`Decoder_ChoiceContext`] | COMPONENT‐PRIVATE CLASS. DO NOT USE OUTSIDE OF THIS COMPONENT. | xref:BloombergLP/balxml/Decoder_ElementContext.adoc[`Decoder_ElementContext`] | COMPONENT‐PRIVATE CLASS. DO NOT USE OUTSIDE OF THIS COMPONENT. | xref:BloombergLP/balxml/Decoder_ErrorLogger.adoc[`Decoder_ErrorLogger`] | COMPONENT‐PRIVATE CLASS. DO NOT USE OUTSIDE OF THIS COMPONENT. | xref:BloombergLP/balxml/Decoder_InstantiateContext-01.adoc[`Decoder_InstantiateContext`] | COMPONENT‐PRIVATE CLASS. DO NOT USE OUTSIDE OF THIS COMPONENT. | xref:BloombergLP/balxml/Decoder_ListParser.adoc[`Decoder_ListParser`] | COMPONENT‐PRIVATE CLASS. DO NOT USE OUTSIDE OF THIS COMPONENT. | xref:BloombergLP/balxml/Decoder_NillableContext.adoc[`Decoder_NillableContext`] | COMPONENT‐PRIVATE CLASS. DO NOT USE OUTSIDE OF THIS COMPONENT. | xref:BloombergLP/balxml/Decoder_ParseAttribute.adoc[`Decoder_ParseAttribute`] | COMPONENT‐PRIVATE CLASS. DO NOT USE OUTSIDE OF THIS COMPONENT. | xref:BloombergLP/balxml/Decoder_ParseAttribute_executeImpProxy.adoc[`Decoder_ParseAttribute_executeImpProxy`] | COMPONENT‐PRIVATE CLASS. DO NOT USE OUTSIDE OF THIS COMPONENT. | xref:BloombergLP/balxml/Decoder_ParseAttribute_executeProxy.adoc[`Decoder_ParseAttribute_executeProxy`] | COMPONENT‐PRIVATE CLASS. DO NOT USE OUTSIDE OF THIS COMPONENT. | xref:BloombergLP/balxml/Decoder_ParseNillableObject.adoc[`Decoder_ParseNillableObject`] | COMPONENT‐PRIVATE CLASS. DO NOT USE OUTSIDE OF THIS COMPONENT. | xref:BloombergLP/balxml/Decoder_ParseNillableObject_executeImpProxy.adoc[`Decoder_ParseNillableObject_executeImpProxy`] | COMPONENT‐PRIVATE CLASS. DO NOT USE OUTSIDE OF THIS COMPONENT. | xref:BloombergLP/balxml/Decoder_ParseObject.adoc[`Decoder_ParseObject`] | COMPONENT‐PRIVATE CLASS. DO NOT USE OUTSIDE OF THIS COMPONENT. | xref:BloombergLP/balxml/Decoder_ParseObject_executeImpProxy.adoc[`Decoder_ParseObject_executeImpProxy`] | COMPONENT‐PRIVATE CLASS. DO NOT USE OUTSIDE OF THIS COMPONENT. | xref:BloombergLP/balxml/Decoder_ParseObject_executeProxy.adoc[`Decoder_ParseObject_executeProxy`] | COMPONENT‐PRIVATE CLASS. DO NOT USE OUTSIDE OF THIS COMPONENT. | xref:BloombergLP/balxml/Decoder_ParseSequenceSimpleContent.adoc[`Decoder_ParseSequenceSimpleContent`] | COMPONENT‐PRIVATE CLASS. DO NOT USE OUTSIDE OF THIS COMPONENT. | xref:BloombergLP/balxml/Decoder_ParseSequenceSubElement.adoc[`Decoder_ParseSequenceSubElement`] | COMPONENT‐PRIVATE CLASS. DO NOT USE OUTSIDE OF THIS COMPONENT. | xref:BloombergLP/balxml/Decoder_PrepareSequenceContext.adoc[`Decoder_PrepareSequenceContext`] | COMPONENT‐PRIVATE CLASS. DO NOT USE OUTSIDE OF THIS COMPONENT. | xref:BloombergLP/balxml/Decoder_PushParserContext.adoc[`Decoder_PushParserContext`] | COMPONENT‐PRIVATE CLASS. DO NOT USE OUTSIDE OF THIS COMPONENT. | xref:BloombergLP/balxml/Decoder_SelectContext.adoc[`Decoder_SelectContext`] | COMPONENT‐PRIVATE CLASS. DO NOT USE OUTSIDE OF THIS COMPONENT. | xref:BloombergLP/balxml/Decoder_SequenceContext.adoc[`Decoder_SequenceContext`] | COMPONENT‐PRIVATE CLASS. DO NOT USE OUTSIDE OF THIS COMPONENT. | xref:BloombergLP/balxml/Decoder_SimpleContext.adoc[`Decoder_SimpleContext`] | COMPONENT‐PRIVATE CLASS. DO NOT USE OUTSIDE OF THIS COMPONENT. | xref:BloombergLP/balxml/Decoder_StdStringContext.adoc[`Decoder_StdStringContext`] | COMPONENT‐PRIVATE CLASS. DO NOT USE OUTSIDE OF THIS COMPONENT. | xref:BloombergLP/balxml/Decoder_StdVectorCharContext.adoc[`Decoder_StdVectorCharContext`] | COMPONENT‐PRIVATE CLASS. DO NOT USE OUTSIDE OF THIS COMPONENT. | xref:BloombergLP/balxml/Decoder_UTF8Context.adoc[`Decoder_UTF8Context`] | COMPONENT‐PRIVATE CLASS. DO NOT USE OUTSIDE OF THIS COMPONENT. | xref:BloombergLP/balxml/Decoder_UnknownElementContext.adoc[`Decoder_UnknownElementContext`] | COMPONENT‐PRIVATE CLASS. DO NOT USE OUTSIDE OF THIS COMPONENT. | xref:BloombergLP/balxml/Decoder_decodeImpProxy.adoc[`Decoder_decodeImpProxy`] | COMPONENT‐PRIVATE CLASS. DO NOT USE OUTSIDE OF THIS COMPONENT. | xref:BloombergLP/balxml/ElementAttribute.adoc[`ElementAttribute`] | Class to represent the properties of an attribute in an XML element tag. Note that this class is not value semantic and does not own any of its pointer values. The owner of the arguments used to set the value of a `ElementAttribute` is responsible for ensuring that the values remain valid or else must document the conditions that will make the values invalid. Some facets are computed the first time that they are needed. To avoid extra processing, the caller may supply otherwise‐computed facets at construction or by calling `reset`. Facets provided by the caller are not checked to ensure that they are consistent with one another. | xref:BloombergLP/balxml/Encoder.adoc[`Encoder`] | This `class` contains the parameterized `encode` functions that encode `bdlat` types in XML format. | xref:BloombergLP/balxml/EncoderOptions.adoc[`EncoderOptions`] | Options for performing XML encodings. Encoding style is either COMPACT or PRETTY. If encoding style is COMPACT, no whitespace will be added between elements. If encoding style is `PRETTY`, then the `InitialIndentLevel`, `SpacesPerLevel`, and `WrapColumn` parameters are used to specify the formatting of the output. Note that `InitialIndentLevel`, `SpacesPerLevel`, and `WrapColumn` are ignored when `EncodingStyle` is COMPACT (this is the default). The generated C++ code for this schema element is created by using bas_codegen.pl, run by balxml/code_from_xsd.pl, with no hand‐editing. | xref:BloombergLP/balxml/Encoder_Context.adoc[`Encoder_Context`] | This `struct` contains state that is maintained during encoding. It also contains methods for switching between pretty formatting and compact formatting, based on the encoding options. | xref:BloombergLP/balxml/Encoder_EncodeObject.adoc[`Encoder_EncodeObject`] | Component‐private class. Do not use. | xref:BloombergLP/balxml/Encoder_EncodeObject_executeImpProxy.adoc[`Encoder_EncodeObject_executeImpProxy`] | Component‐private struct. Do not use. | xref:BloombergLP/balxml/Encoder_EncodeObject_executeProxy.adoc[`Encoder_EncodeObject_executeProxy`] | Component‐private struct. Do not use. | xref:BloombergLP/balxml/Encoder_EncodeValue.adoc[`Encoder_EncodeValue`] | Component‐private class. Do not use. | xref:BloombergLP/balxml/Encoder_EncodeValue_executeImpProxy.adoc[`Encoder_EncodeValue_executeImpProxy`] | Component‐private struct. Do not use. | xref:BloombergLP/balxml/Encoder_OptionsCompatibilityUtil.adoc[`Encoder_OptionsCompatibilityUtil`] | Component‐private `struct`. Do not use. | xref:BloombergLP/balxml/Encoder_SequenceFirstPass.adoc[`Encoder_SequenceFirstPass`] | Component private class. Do not use. | xref:BloombergLP/balxml/Encoder_SequenceFirstPass_addAttributeImpProxy.adoc[`Encoder_SequenceFirstPass_addAttributeImpProxy`] | Component‐private struct. Do not use. | xref:BloombergLP/balxml/Encoder_SequenceFirstPass_addAttributeProxy.adoc[`Encoder_SequenceFirstPass_addAttributeProxy`] | Component‐private struct. Do not use. | xref:BloombergLP/balxml/Encoder_SequenceSecondPass.adoc[`Encoder_SequenceSecondPass`] | Component‐private class. Do not use. | xref:BloombergLP/balxml/EncodingStyle.adoc[`EncodingStyle`] | Enumeration of encoding style (COMPACT or PRETTY). This struct is generated using bas_codegen.pl called by balxml/code_from_xsd.pl | xref:BloombergLP/balxml/ErrorInfo.adoc[`ErrorInfo`] | This class provides detailed information for errors encountered during XML parsing. Such information is common for most parsers and contains the following data: line number, column number, severity code, identification of source document and the parser error message. | xref:BloombergLP/balxml/Formatter.adoc[`Formatter`] | This class provides a set of XML‐style formatting utilities that enable transparent indentation and wrapping for users attempting to format data with XML tags and attributes. A formatter object is instantiated with a pointer to an output stream or streambuf. Users can then use the provided utilities to write element tags, attributes, data in a valid XML sequence into the underlying stream. | xref:BloombergLP/balxml/FormatterWhitespaceType.adoc[`FormatterWhitespaceType`] | This `struct` describes options available when outputting textual data of an element between its pair of opening and closing tags. | xref:BloombergLP/balxml/Formatter_CompactImplState.adoc[`Formatter_CompactImplState`] | This class provides an in‐core, value‐semantic attribute type that maintains all of the state information needed to print an XML document with minimal whitespace using the operations provided by `Formatter_CompactImplUtil`. | xref:BloombergLP/balxml/Formatter_CompactImplStateId.adoc[`Formatter_CompactImplStateId`] | This `struct` provides a namespace for enumerating a set of labels for distinct states of `Formatter_CompactImplState`. | xref:BloombergLP/balxml/Formatter_CompactImplUtil.adoc[`Formatter_CompactImplUtil`] | This utility `struct` provides a namespace for a suite of operations used to pretty‐print XML documents given a sequence of tokens to emit. Together with `Formatter_CompactImplState`, this `struct` provides an implementation of a state machine for such pretty‐printing. | xref:BloombergLP/balxml/Formatter_Mode.adoc[`Formatter_Mode`] | This component‐private utility `struct` provides a namespace for enumerating the set of formatting modes that the `Formatter` can take. | xref:BloombergLP/balxml/Formatter_PrettyImplState.adoc[`Formatter_PrettyImplState`] | This class provides an in‐core, value‐semantic attribute type that maintains all of the state information needed to pretty‐print an XML document using the operations provided by `Formatter_PrettyImplUtil`. | xref:BloombergLP/balxml/Formatter_PrettyImplStateId.adoc[`Formatter_PrettyImplStateId`] | This `struct` provides a namespace for enumerating the set of labels for distinct states of `Formatter_PrettyImplState`. | xref:BloombergLP/balxml/Formatter_PrettyImplUtil.adoc[`Formatter_PrettyImplUtil`] | This utility `struct` provides a namespace for a suite of operations used to pretty‐print XML documents given a sequence of tokens to emit. Together with `Formatter_PrettyImplState`, this `struct` provides an implementation of a state machine for such pretty‐printing. | xref:BloombergLP/balxml/Formatter_State.adoc[`Formatter_State`] | This component‐private, in‐core, value‐semantic class provides a variant that can be inhabited by an object of either the component‐private `Formatter_CompactImplState` type or the component‐private `Formatter_PrettyImplState` type. | xref:BloombergLP/balxml/Formatter_StreamHolder.adoc[`Formatter_StreamHolder`] | This component‐private class provides a mechanism for holding the `bsl::ostream` used by the `Formatter` to emit XML documents. Objects of `Formatter_StreamHolder` type can be constructed with either a `bsl::streambuf *` or a `bsl::ostream *`. If a stream holder is constructed with a `bsl::streambuf *`, then it owns its held `bsl::ostream`, which is constructed with the supplied stream buffer. If a stream holder is constructed with a `bsl::ostream *`, its held `bsl::ostream` is the supplied stream. | xref:BloombergLP/balxml/HexParser.adoc[`HexParser`] | This is a push parser for supported Hex types (`bsl::vector<char>` or `bsl::string`). | xref:BloombergLP/balxml/HexParser_Helper.adoc[`HexParser_Helper`] | Namespace for facilities that are used in the implementation of class `HexParser<TYPE>`. Only instances of `HexParser<TYPE>` can access the facilities in this class. | xref:BloombergLP/balxml/ListParser.adoc[`ListParser`] | This is a push parser for lists. | xref:BloombergLP/balxml/MiniReader.adoc[`MiniReader`] | This `class` provides a concrete and efficient implementation of the `Reader` protocol. | xref:BloombergLP/balxml/NamespaceRegistry.adoc[`NamespaceRegistry`] | Mapping that associates a unique integer with each registered namespace URI. | xref:BloombergLP/balxml/PrefixStack.adoc[`PrefixStack`] | `PrefixStack` allows associating a unique integer (namespace ID) with prefix. | xref:BloombergLP/balxml/Reader.adoc[`Reader`] | This abstract class defines an interface for fast, forward‐only access to XML data. An object belonging to a derived‐class implementation of this protocol is required to be re‐usable, such that a new XML document can be parsed using the same reader object by calling `close` followed by another `open`. | xref:BloombergLP/balxml/TypesParserUtil.adoc[`TypesParserUtil`] | This `struct` contains functions for parsing input strings using various XML formatting modes. | xref:BloombergLP/balxml/TypesParserUtilImp_ParseBase64.adoc[`TypesParserUtilImp_ParseBase64`] | Component‐private class. Do not use. | xref:BloombergLP/balxml/TypesParserUtilImp_ParseDecimal.adoc[`TypesParserUtilImp_ParseDecimal`] | Component‐private class. Do not use. | xref:BloombergLP/balxml/TypesParserUtilImp_ParseDefault.adoc[`TypesParserUtilImp_ParseDefault`] | Component‐private class. Do not use. | xref:BloombergLP/balxml/TypesParserUtilImp_ParseHex.adoc[`TypesParserUtilImp_ParseHex`] | Component‐private class. Do not use. | xref:BloombergLP/balxml/TypesParserUtilImp_ParseList.adoc[`TypesParserUtilImp_ParseList`] | Component‐private class. Do not use. | xref:BloombergLP/balxml/TypesParserUtilImp_ParseListElementDefault.adoc[`TypesParserUtilImp_ParseListElementDefault`] | Component‐private class. Do not use. | xref:BloombergLP/balxml/TypesParserUtilImp_ParseText.adoc[`TypesParserUtilImp_ParseText`] | Component‐private class. Do not use. | xref:BloombergLP/balxml/TypesPrintUtil.adoc[`TypesPrintUtil`] | This `struct` contains functions for printing objects to output streams using various formatting modes. | xref:BloombergLP/balxml/TypesPrintUtilImp_PrintBase64.adoc[`TypesPrintUtilImp_PrintBase64`] | Component‐private struct. Do not use. | xref:BloombergLP/balxml/TypesPrintUtilImp_PrintDecimal.adoc[`TypesPrintUtilImp_PrintDecimal`] | Component‐private class. Do not use. | xref:BloombergLP/balxml/TypesPrintUtilImp_PrintDefault.adoc[`TypesPrintUtilImp_PrintDefault`] | Component‐private class. Do not use. | xref:BloombergLP/balxml/TypesPrintUtilImp_PrintHex.adoc[`TypesPrintUtilImp_PrintHex`] | Component‐private class. Do not use. | xref:BloombergLP/balxml/TypesPrintUtilImp_PrintList.adoc[`TypesPrintUtilImp_PrintList`] | Component‐private class. Do not use. | xref:BloombergLP/balxml/TypesPrintUtilImp_PrintListElementDefault.adoc[`TypesPrintUtilImp_PrintListElementDefault`] | Component‐private class. Do not use. | xref:BloombergLP/balxml/TypesPrintUtilImp_PrintText.adoc[`TypesPrintUtilImp_PrintText`] | Component‐private class. Do not use. | xref:BloombergLP/balxml/Utf8ReaderWrapper.adoc[`Utf8ReaderWrapper`] | This class "has a" pointer to a held and wrapped `Reader` object, and operations on this object are passed to the held reader. The held reader is passed a `Utf8CheckingInStreamBufWrapper`, which holds and wraps a normal `streambuf`. The `Utf8CheckingInStreamBufWrapper` checks input for invalid UTF‐8, and if it detects any, makes the diagnosis of the problem available through the `errorInfo` accessor. | xref:BloombergLP/balxml/Util.adoc[`Util`] | Utility functions for `balxml`. | xref:BloombergLP/balxml/ValidatingReader.adoc[`ValidatingReader`] | TBD Class description |=== == Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/balxml/operator_lshift-01e.adoc[`operator<<`] | Stream insertion operators | xref:BloombergLP/balxml/operator_eq-06.adoc[`operator==`] | Equality operators | xref:BloombergLP/balxml/operator_not_eq-0a.adoc[`operator!=`] | Inequality operators |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#