Utilización de un solucionados de orígenes en el tiempo de preparación
Si especifica un solucionador de orígenes en el tiempo en que se está preparando un ejecutable, puede indicar al procesador cómo interpretar los URI a los que se hace referencia en ese momento.
Procedimiento
Así se indica al procesador cómo interpretar los URI a los que se hace referencia en ese momento, en directrices xsl:import y xsl:include de una hoja de estilo, por ejemplo.
El comportamiento predeterminado de la resolución de orígenes es interpretar los URI relativos en términos del URI base de la expresión, consulta u hoja de estilo, si el URI base está disponible o para interpretarlos como vías de acceso de archivos relativas para el directorio de trabajo actual si el URI base no está disponible. Los URI absolutos se utilizan sin modificar.
Para cambiar este comportamiento, escriba una clase Java™ que implemente la interfaz XSourceResolver y regístrela con XStaticContext antes de preparar la hoja de estilo.
XFactory factory = XFactory.newInstance();
// Register the source resolver with the static context
XStaticContext staticContext = factory.newStaticContext();
XSourceResolver sourceResolver=new ASourceResolver(replacementBase);
staticContext.setSourceResolver(sourceResolver);
// Prepare the sylesheet
XSLTExecutable executable = factory.prepareXSLT(new StreamSource(stylesheetFile), staticContext);
XDynamicContext dynamicContext = factory.newDynamicContext();
// Execute the stylesheet
XSequenceCursor cursor = executable.execute(new StreamSource(inputFile), dynamicContext);