{
// Este método es llamado desde código JavaScript de Batik
// someScope serí un Scriptable si se llama desde JavaScript
// doc debe ser la referencia "document" que sabemos que el documento DOM Java
WindowWrapper winWrapper = (WindowWrapper)ScriptableObject.getTopLevelScope((Scriptable)someScope);
SVGOMDocument svgDoc = (SVGOMDocument)WindowWrapperUtil.getWindow(winWrapper).getBridgeContext().getDocument();
JSVGCanvasApplet canvas = JSVGCanvasApplet.getJSVGCanvasApplet(svgDoc);
canvas.setWindowWrapper(winWrapper);
fixInterpreter(winWrapper,svgDoc);
registerXMLHttpRequest(winWrapper);
canvas.createWrapperDocuments();
ItsNatSVGOMDocumentBatik batikDoc = canvas.getItsNatSVGOMDocumentBatik();
// Cambiamos "document" por el nuestro que exporta getItsNatDoc() via Java para obtener
// el objeto gestor del documento de ItsNat.
// Podríamos no recubrir con javaToJS y funcionaría igual excepto un detalle,
// el typeof NO funciona, si es recubierto el typeof devuelve "object".
Object batikDocJS = Context.javaToJS(batikDoc, winWrapper);
winWrapper.put("document",winWrapper, batikDocJS);
// Los cambios en el contexto son importantes, este método
// es llamado desde el <script> de carga de ItsNat, afortunadamente
// este es el último porque he comprobado que siguientes <script> darán
// error a nivel de Batik porque la ejecución de los <script> en carga