Анализатор мог вернуть текст в виде двух смежных текстовых узлов, в результате чего stringElement
вызывается дважды.Второй вызов переписал бы текст из первого текстового узла.Попробуйте изменить stringElement
так, чтобы он объединял входные данные с любым существующим текстом и посмотрите, вернет ли он всю строку.
Во втором исследовании я почти уверен, что парсер возвращает ссылку на сущность &
отдельный узел, так что вам может понадобиться собрать весь текст самостоятельно.В зависимости от реализации синтаксического анализатора, ссылка на сущность может быть узлом другого типа, поэтому вам придется исследовать, что делает ваш конкретный синтаксический анализатор со ссылками на сущность.