BDE 4.14.0 Production release
Loading...
Searching...
No Matches
balxml::Formatter_CompactImplStateId Struct Reference

#include <balxml_formatter_compactimpl.h>

Public Types

enum  Enum { e_AT_START , e_IN_TAG , e_FIRST_DATA_BETWEEN_TAGS , e_TRAILING_DATA_BETWEEN_TAGS }
 

Detailed Description

This struct provides a namespace for enumerating a set of labels for distinct states of Formatter_CompactImplState.

Member Enumeration Documentation

◆ Enum

Enumerator
e_AT_START 

This state indicates that the current write position of the formatter is at the start of the document. The formatter is only allowed to add an XML header when in this state.

e_IN_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. In this state, most token printing operations, other than adding attributes, need to emit a ">" character to close the currently open tag before emitting their content. For example:

1| <someTag
`---------^
* Note that there is no '>' character yet

or:

1| <someTag attr="value" otherAttr="42"
`-------------------------------------^
e_FIRST_DATA_BETWEEN_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. In this state, data printing operations do not need to emit delimiting whitespace for their content. Note that comments are not considered data. For example:

1| <someTag>
`----------^

or:

1| <someTag><!-- comment -->
`--------------------------^

or:

1| <someTag></someTag>
`--------------------^
e_TRAILING_DATA_BETWEEN_TAGS 

This state indicates that the current write position of the formatter is after one or more data tokens for the currently-open tag. In this state, data printing operations need to emit delimiting whitespace for their content. For example:

1| <someTag>data
`--------------^

or:

1| <someTag>some list data
`------------------------^

The documentation for this struct was generated from the following file: