[#BloombergLP-balxml-Decoder_ElementContext]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/balxml.adoc[balxml]::Decoder&lowbar;ElementContext
:relfileprefix: ../../
:mrdocs:

COMPONENT&hyphen;PRIVATE CLASS&period; DO NOT USE OUTSIDE OF THIS COMPONENT&period;

== Synopsis

Declared in `&lt;balxml&lowbar;decoder&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
class Decoder&lowbar;ElementContext;
----

== Description

This protocol class contain functions related to parsing XML elements&period; When the Decoder reads the XML document, it forwards the information about the current node as events to this protocol&period; There are several implementations of this protocol, depending on the type of element&period; The correct implementation for each type is selected by the `Decoder&lowbar;SelectContext` meta&hyphen;function&period; Each of the functions take a `context` parameter, which contains members related to the context of the decoder&period;

== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/balxml/Decoder_ElementContext/2destructor.adoc[`&#126;Decoder&lowbar;ElementContext`] [.small]#[destructor]# [.small]#[virtual]#
| For syntactic purposes only&period;
| xref:BloombergLP/balxml/Decoder_ElementContext/addCharacters.adoc[`addCharacters`]  [.small]#[virtual]#
| Process the specified character data while decoding&period;
| xref:BloombergLP/balxml/Decoder_ElementContext/beginParse.adoc[`beginParse`] 
| Invoked when the decoder begins parsing&period;
| xref:BloombergLP/balxml/Decoder_ElementContext/endElement.adoc[`endElement`]  [.small]#[virtual]#
| Invoked when the decoder finishes parsing an element&period;
| xref:BloombergLP/balxml/Decoder_ElementContext/parseAttribute.adoc[`parseAttribute`]  [.small]#[virtual]#
| Invoked when the decoder encounters an attribute&period;
| xref:BloombergLP/balxml/Decoder_ElementContext/parseSubElement.adoc[`parseSubElement`]  [.small]#[virtual]#
| Invoked when the decoder encounters a sub&hyphen;element&period;
| xref:BloombergLP/balxml/Decoder_ElementContext/startElement.adoc[`startElement`]  [.small]#[virtual]#
| Invoked when the decoder begins parsing an element&period;
|===


== Derived Classes

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/balxml/Decoder_ChoiceContext.adoc[`Decoder&lowbar;ChoiceContext`] 
| COMPONENT&hyphen;PRIVATE CLASS&period; DO NOT USE OUTSIDE OF THIS COMPONENT&period;
| xref:BloombergLP/balxml/Decoder_NillableContext.adoc[`Decoder&lowbar;NillableContext`] 
| COMPONENT&hyphen;PRIVATE CLASS&period; DO NOT USE OUTSIDE OF THIS COMPONENT&period;
| xref:BloombergLP/balxml/Decoder_PushParserContext.adoc[`Decoder&lowbar;PushParserContext`] 
| COMPONENT&hyphen;PRIVATE CLASS&period; DO NOT USE OUTSIDE OF THIS COMPONENT&period;
| xref:BloombergLP/balxml/Decoder_SequenceContext.adoc[`Decoder&lowbar;SequenceContext`] 
| COMPONENT&hyphen;PRIVATE CLASS&period; DO NOT USE OUTSIDE OF THIS COMPONENT&period;
| xref:BloombergLP/balxml/Decoder_SimpleContext.adoc[`Decoder&lowbar;SimpleContext`] 
| COMPONENT&hyphen;PRIVATE CLASS&period; DO NOT USE OUTSIDE OF THIS COMPONENT&period;
| xref:BloombergLP/balxml/Decoder_StdStringContext.adoc[`Decoder&lowbar;StdStringContext`] 
| COMPONENT&hyphen;PRIVATE CLASS&period; DO NOT USE OUTSIDE OF THIS COMPONENT&period;
| xref:BloombergLP/balxml/Decoder_StdVectorCharContext.adoc[`Decoder&lowbar;StdVectorCharContext`] 
| COMPONENT&hyphen;PRIVATE CLASS&period; DO NOT USE OUTSIDE OF THIS COMPONENT&period;
| xref:BloombergLP/balxml/Decoder_UTF8Context.adoc[`Decoder&lowbar;UTF8Context`] 
| COMPONENT&hyphen;PRIVATE CLASS&period; DO NOT USE OUTSIDE OF THIS COMPONENT&period;
| xref:BloombergLP/balxml/Decoder_UnknownElementContext.adoc[`Decoder&lowbar;UnknownElementContext`] 
| COMPONENT&hyphen;PRIVATE CLASS&period; DO NOT USE OUTSIDE OF THIS COMPONENT&period;
|===


[.small]#Created with https://www.mrdocs.com[MrDocs]#
