Итак, как забавный проект, я решил написать свой собственный синтаксический анализатор XML. Нет, не анализировать конкретный документ и нет, не используя библиотеку XML-анализатора. Я имею в виду написание кода для анализа любого XML-документа в пригодную для использования структуру данных. Просто потому, что мне нравится вызов.: -)
С учетом сказанного, пока это оказалось... интересным. Это не так легко разобрать (особенно, когда вы начинаете принимать во внимание специальные символы, CDATA, пустые теги, комментарии и т.д.), Поскольку они изначально выглядели.
Есть ли какие-либо хорошо документированные алгоритмы синтаксического анализа XML или объяснения в любом месте, о котором кто-либо знает? Похоже, что есть хорошо документированные операции Queue, Stack и BTree и т.д. И т.д. И т.д. И т.д., Но я не уверен, что когда-либо видел простой, хорошо документированный алгоритм XML-анализатора...
Повторяю: Я не ищет заранее созданную парсерную библиотеку! Я ищу информацию о , как создать собственную встроенную библиотеку парсеров! Не говорите мне "использовать expat" или "использовать SAX" или что-то еще. Это не то, о чем я прошу.