Я думаю, что люди не могут писать такие уроки; и, как я заметил, я не думаю, что общие методы синтаксического анализа очень полезны. Синтаксические анализаторы XML не являются чем-то обычным. Подход lex + yacc работает слишком хорошо (часть лексера более важна, чем анализатор).
Я знаю, что большинство парсеров XML, готовых к работе, - звери, но лучше всего начать с чтения. У Java есть несколько примеров, и xmlpull может быть одним из самых простых правильных парсеров. Woodstox и Xerces - самые совместимые ("полные") парсеры с большой кодовой базой, поэтому, безусловно, не легкое чтение. Но они обрабатывают все, что должен анализатор XML, поэтому они могут быть и образовательными.
Но остерегайтесь поддельных синтаксических анализаторов, которые пропускают проверки на предмет мандатов спецификации XML (например, Javolution проверяет очень мало вещей, например, ни проверок правильности символов, ни дублирования имен атрибутов).
Другая вещь, которую нужно прочитать, это, очевидно, спецификация XML. Это одна из наиболее хорошо написанных спецификаций IMO; точное и полное, даже если не совсем легкое чтение. Но, учитывая все, что он охватывает, на самом деле это не так уж долго.