| 2785 | |
| 2786 | |
| 2787 | void XMLPrinter::CloseElement( bool compactMode ) |
| 2788 | { |
| 2789 | --_depth; |
| 2790 | const char* name = _stack.Pop(); |
| 2791 | |
| 2792 | if ( _elementJustOpened ) { |
| 2793 | Write( "/>" ); |
| 2794 | } |
| 2795 | else { |
| 2796 | if ( _textDepth < 0 && !compactMode) { |
| 2797 | Putc( '\n' ); |
| 2798 | PrintSpace( _depth ); |
| 2799 | } |
| 2800 | Write ( "</" ); |
| 2801 | Write ( name ); |
| 2802 | Write ( ">" ); |
| 2803 | } |
| 2804 | |
| 2805 | if ( _textDepth == _depth ) { |
| 2806 | _textDepth = -1; |
| 2807 | } |
| 2808 | if ( _depth == 0 && !compactMode) { |
| 2809 | Putc( '\n' ); |
| 2810 | } |
| 2811 | _elementJustOpened = false; |
| 2812 | } |
| 2813 | |
| 2814 | |
| 2815 | void XMLPrinter::SealElementIfJustOpened() |