Я не думаю, что это возможно без какой-либо промежуточной сериализации или построения dom-дерева, но сериализация в строку была бы худшим вариантом imho.Наилучшим вариантом, вероятно, будет маршал к TransformerHandler , который выполняет преобразование xsl и создает дерево dom.Это дерево может быть снова распаковано.Вот некоторый (непроверенный) пример кода, показывающий, как это может работать:
Source xsl = ...
SAXTransformerFactory factory = (SAXTransformerFactory) TransformerFactory.newInstance();
TransformerHandler handler = factory.newTransformerHandler(xsl);
DOMResult result = new DOMResult();
handler.setResult(result);
marshaller.marshal(inputObject, handler);
transformedObject = unmarshaller.unmarshal(result.getNode());