Serializando caracteres unicode suplementares em documentos XML com Java

Eu estou tentando serializar documentos DOM com caracteres unicode suplementares, como U + 1D49C (𝒜, capital de script matemático A). Criar um nó com tal caractere não é um problema (apenas configurei o valor do nó para o equivalente em UTF-16, "\ uD835 \ uDC9C"). Ao serializar, no entanto, Xalan e XSLTC (com um Transformer) e Xerces (com LSSerializer), todos criam entidades de caractere inválidas como "& # 55349; & # 56476;" em vez de "& # 119964;" Eu tentei o parâmetro "normalize-characters" para LSSerializer, mas não é suportado. Apenas o Saxon acerta, sem usar uma entidade de caractere quando a codificação é unicode.

Eu não posso usar o Saxon na prática (entre outras razões, eu uso applets Java e não quero carregar outro jar), então estou procurando uma solução com as bibliotecas JDK padrão. É possível obter documentos XML válidos serializados de um documento DOM com caracteres unicode suplementares?

[edit] Encontrei alguém que encontrou este problema:http://www.dragishak.com/?p=131

[edit2] na verdade, parece funcionar com o LSSerializer quando não tenho xerces no classpath (a classe usada é com.sun.org.apache.xml.internal.serialize.DOMSerializerImpl). Não funciona com um transformador e com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.

questionAnswers(2)

yourAnswerToTheQuestion