Innanzitutto il contenuto di questo description non è testo "puro" ma si vede bene che ci sono tag HTML.
Il problema principale è il tuo characters. Giusto per precisare, il characters non necessariamente viene invocato una volta sola con tutto il contenuto testuale di un tag. Il parser è libero di spezzare il testo e invocare più volte il metodo characters passando gli spezzoni uno per volta.
Questo in sostanza vuol dire che in characters non è corretto "settare" subito qualcosa. Dovresti accodare ad un buffer e poi quando hai il tag di chiusura (es. </description>) allora fai qualcosa per settare i dati.
Una volta che hai il testo completo di un tag, eliminare il markup HTML è facile con una (unica!) regex.


Rispondi quotando