JBoss использует RI отсюда: http://stax.codehaus.org/Home для провайдера STAX. Я предполагаю, что JDK, вероятно, использует SJSXP по умолчанию.
Поскольку поведение toString()
не указано в API для XMLEvent
, это зависит от реализации, что похоже на распечатку. Некоторые реализации выдают простой старый Object#toString()
, некоторые могут записывать XML и т. Д. По сути, вы полагаетесь на детали реализации, которые не определены интерфейсами пакета javax.
Вы можете получить согласованное поведение, используя реализацию codehaus stax в своей среде разработки, но, конечно, вы все еще используете специфические функции поставщика.
(Эта проблема возникала в прошлом и с другими API-интерфейсами XML, когда Sun сменила поставщика. Org.w3c.dom.Element использовался для печати XML из toString, но это было поведение поставщика, затем однажды оно изменилось и код многих людей сломался!)