| 2628 | |
| 2629 | |
| 2630 | void XMLPrinter::CloseElement( bool compactMode ) |
| 2631 | { |
| 2632 | --_depth; |
| 2633 | const char* name = _stack.Pop(); |
| 2634 | |
| 2635 | if ( _elementJustOpened ) { |
| 2636 | Write( "/>" ); |
| 2637 | } |
| 2638 | else { |
| 2639 | if ( _textDepth < 0 && !compactMode) { |
| 2640 | Putc( '\n' ); |
| 2641 | PrintSpace( _depth ); |
| 2642 | } |
| 2643 | Write ( "</" ); |
| 2644 | Write ( name ); |
| 2645 | Write ( ">" ); |
| 2646 | } |
| 2647 | |
| 2648 | if ( _textDepth == _depth ) { |
| 2649 | _textDepth = -1; |
| 2650 | } |
| 2651 | if ( _depth == 0 && !compactMode) { |
| 2652 | Putc( '\n' ); |
| 2653 | } |
| 2654 | _elementJustOpened = false; |
| 2655 | } |
| 2656 | |
| 2657 | |
| 2658 | void XMLPrinter::SealElementIfJustOpened() |