18#if !defined(XALANIDENTWRITER_HEADER_GUARD_1357924680)
19#define XALANIDENTWRITER_HEADER_GUARD_1357924680
35 class WhiteSpaceWriter,
48 m_whiteSpaceWriter(
writer),
52 m_startNewLine(
false),
55 m_preserves(
writer.getMemoryManager(), 5)
82 if(m_startNewLine ==
true)
87 m_whiteSpaceWriter(m_currentIndent);
95 m_currentIndent += m_indent;
101 assert( m_currentIndent >= m_indent);
103 m_currentIndent -= m_indent;
109 m_startNewLine = value;
124 m_isprevtext = value;
130 m_ispreserve = value;
136 if ( m_preserves.empty() )
138 m_ispreserve =
false;
142 m_ispreserve = m_preserves.back();
144 m_preserves.pop_back();
151 m_preserves.push_back(m_ispreserve);
158 return (!m_ispreserve && !m_isprevtext);
166 WhiteSpaceWriter m_whiteSpaceWriter;
168 NewLineWriter m_newLineWriter;
178 size_type m_currentIndent;
201 BoolStackType m_preserves;
#define XALAN_CPP_NAMESPACE
Xalan-C++ namespace, including major and minor version.
XalanIndentWriter(writer_type &writer, size_type ident)
size_type getIndent() const
void setPrevText(bool value)
void setIndent(size_type value)
void setPreserve(bool value)
WhiteSpaceWriter::writer_type writer_type
void setStartNewLine(bool value)
XalanVector< bool > BoolStackType
void outputLineSep()
Output a line break.
FormatterListener::size_type size_type