Я подозреваю, что для свойства 'XMLInputFactory.IS_COALESCING' установлено значение true (или вы используете Woodstox 3.2, для которого он включен по умолчанию - что не является предложением по умолчанию для stax, то есть незначительной ошибкой). Это вызывает как преобразование CDATA в CHARACTERS, так и объединение смежных текстовых сегментов, если таковые имеются.
Кроме этого, Woodstox сообщает об отдельных разделах CDATA; но в спецификации Stax есть некоторые «интересные» требования для конвекции - членам экспертной группы, похоже, не нравится, что CDATA обрабатывается иначе, чем CHARACTERS.
Итак: если вы хотите, чтобы они сообщались отдельно, обязательно отключите IS_COALESCING:
inputFactory.setProperty(XMLInputFactory.IS_COALESCING, Boolean.FALSE);