+ //style.save(result, stdout);
+}
+#else
+void
+CMathMLFactoryXSLT::documentModified(TDocument& doc)
+{
+ DOM::Document res = style.apply(doc.document());
+ assert(res);
+
+ if (DOM::Element root = res.get_documentElement())
+ {
+ DOM::Element newRoot = root.get_firstChild();
+ assert(newRoot);
+
+ if (DOM::Element oldSubRoot = result.get_documentElement().get_firstChild())
+ {
+ result.get_documentElement().replaceChild(result.importNode(newRoot, true), oldSubRoot);
+ }
+ else
+ {
+ result.get_documentElement().appendChild(result.importNode(newRoot, true));
+ }
+ }
+ else
+ {
+ // Something wrong happened while applying the stylesheet.
+ DOM::Element root = result.get_documentElement();
+ DOM::Node p = root.get_firstChild();
+ while (p) {
+ DOM::Node next = p.get_nextSibling();
+ root.removeChild(p);
+ p = next;
+ }
+ logger.error("The stylesheet produced an empty document");
+ }