private void indentLine(StrTypePair elem)
        {
            // On stocke le retour à la ligne, s'il faut la modifier par la suite
            _currentLineBreak = elem;

            if (_indentLevel < 0) _indentLevel = 0;

            _currentLineBreak.str = '\n' + new string(' ', indentSize * _indentLevel);
        }
 private void indentItem(StrTypePair elem)
 {
     switch (elem.type)
     {
         case StrTypePair.StrType.USR_OPEN_TAG:
         case StrTypePair.StrType.AUTO_OPEN_TAG:
             _indentLevel++;
             break;
         case StrTypePair.StrType.USR_TAG_NAME:
         case StrTypePair.StrType.AUTO_TAG_NAME:
             if (HtmlElement.singleTags.Exists(v => v == elem.str))
             {    // si ce n'est pas une balise simple, on annule la précédente auto-indentation
                 _indentLevel--;
                 _currentLineBreak.str = '\n' + new string(' ', indentSize * (_indentLevel));
             }
             break;
         case StrTypePair.StrType.USR_END_TAG:
         case StrTypePair.StrType.AUTO_END_TAG:
             _indentLevel--;
             _currentLineBreak.str = '\n' + new string(' ', indentSize * (_indentLevel));
             break;
         case StrTypePair.StrType.LINE_BREAK:
             indentLine(elem);
             break;
     }
 }