| 2818 | |
| 2819 | |
| 2820 | void XMLPrinter::CloseElement( bool compactMode ) |
| 2821 | { |
| 2822 | --_depth; |
| 2823 | const char* name = _stack.Pop(); |
| 2824 | |
| 2825 | if ( _elementJustOpened ) { |
| 2826 | Write( "/>" ); |
| 2827 | } |
| 2828 | else { |
| 2829 | if ( _textDepth < 0 && !compactMode) { |
| 2830 | Putc( '\n' ); |
| 2831 | PrintSpace( _depth ); |
| 2832 | } |
| 2833 | Write ( "</" ); |
| 2834 | Write ( name ); |
| 2835 | Write ( ">" ); |
| 2836 | } |
| 2837 | |
| 2838 | if ( _textDepth == _depth ) { |
| 2839 | _textDepth = -1; |
| 2840 | } |
| 2841 | if ( _depth == 0 && !compactMode) { |
| 2842 | Putc( '\n' ); |
| 2843 | } |
| 2844 | _elementJustOpened = false; |
| 2845 | } |
| 2846 | |
| 2847 | |
| 2848 | void XMLPrinter::SealElementIfJustOpened() |
no test coverage detected