[#BloombergLP-balxml-Formatter_CompactImplStateId-Enum]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/balxml.adoc[balxml]::xref:BloombergLP/balxml/Formatter_CompactImplStateId.adoc[Formatter&lowbar;CompactImplStateId]::Enum
:relfileprefix: ../../../
:mrdocs:

Labels for distinct states of `Formatter&lowbar;CompactImplState`&period;

== Synopsis

Declared in `&lt;balxml&lowbar;formatter&lowbar;compactimpl&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
enum Enum;
----

== Members

[cols="1,4"]
|===
| Name| Description
| `e&lowbar;AT&lowbar;START` 
| This state indicates that the current write position of the formatter is at the start of the document&period; The formatter is only allowed to add an XML header when in this state&period;
| `e&lowbar;IN&lowbar;TAG` 
| This state indicates that the current write position of the formatter is immediately after the name of an opening tag, or otherwise immediately after the value of an attribute of an opening tag&period; In this state, most token printing operations, other than adding attributes, need to emit a &quot;&gt;&quot; character to close the currently open tag before emitting their content&period; For example&colon; &grave; 1&verbar; &lt;someTag &grave;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&circ;
| `e&lowbar;FIRST&lowbar;DATA&lowbar;BETWEEN&lowbar;TAGS` 
| This state indicates that the current write position of the formatter is either 1) after a closing tag, or 2) after a complete opening tag and before any data for the tag&period; In this state, data printing operations do _not_ need to emit delimiting whitespace for their content&period; Note that comments are not considered data&period; For example&colon; &grave; 1&verbar; &lt;someTag&gt; &grave;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&circ; &grave; or&colon; &grave; 1&verbar; &lt;someTag&gt;&lt;!&hyphen;&hyphen; comment &hyphen;&hyphen;&gt; &grave;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&circ; &grave; or&colon; &grave; 1&verbar; &lt;someTag&gt;&lt;&sol;someTag&gt; &grave;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&circ; &grave;
| `e&lowbar;TRAILING&lowbar;DATA&lowbar;BETWEEN&lowbar;TAGS` 
| This state indicates that the current write position of the formatter is after one or more data tokens for the currently&hyphen;open tag&period; In this state, data printing operations need to emit delimiting whitespace for their content&period; For example&colon; &grave; 1&verbar; &lt;someTag&gt;data &grave;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&circ; &grave; or&colon; &grave; 1&verbar; &lt;someTag&gt;some list data &grave;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&hyphen;&circ; &grave;
|===



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