Example usage for javax.xml.transform TransformerFactory setURIResolver

List of usage examples for javax.xml.transform TransformerFactory setURIResolver

Introduction

In this page you can find the example usage for javax.xml.transform TransformerFactory setURIResolver.

Prototype

public abstract void setURIResolver(URIResolver resolver);

Source Link

Document

Set an object that is used by default during the transformation to resolve URIs used in document(), xsl:import, or xsl:include.

Usage

From source file:org.sakaiproject.tool.help.RestContentProvider.java

/**
 * create transformer/*  w ww .  j a  va2 s.c  om*/
 * @param stylesheet
 * @return
 */
private static Transformer createTransformer(Document stylesheet) {
    if (LOG.isDebugEnabled()) {
        LOG.debug("createTransformer(Document " + stylesheet + ")");
    }

    Transformer transformer = null;
    TransformerFactory transformerFactory = TransformerFactory.newInstance();
    URIResolver resolver = new URIResolver();
    transformerFactory.setURIResolver(resolver);

    try {
        DOMSource source = new DOMSource(stylesheet);
        String systemId = "/xsl";
        source.setSystemId(systemId);
        transformer = transformerFactory.newTransformer(source);
    } catch (TransformerConfigurationException e) {
        LOG.error(e.getMessage(), e);
        e.printStackTrace();
    }

    return transformer;
}

From source file:org.theospi.portfolio.presentation.control.ViewPresentationControl.java

protected Transformer getTransformer(Presentation presentation, Map request) throws PersistenceException {
    Id renderer = presentation.getTemplate().getRenderer();
    TransformerWrapper wrapper = (TransformerWrapper) presentationTemplateCache.get(renderer);

    if (wrapper == null) {
        wrapper = new TransformerWrapper();
        wrapper.modified = 0;//from www .  j  ava  2 s  .  c  o  m
    }

    Node xsl = getPresentationManager().getNode(renderer);

    if (xsl.getTechnicalMetadata().getLastModified().getTime() > wrapper.modified) {
        try {
            TransformerFactory tf = TransformerFactory.newInstance();
            tf.setURIResolver(getUriResolver());
            wrapper.transformer = tf.newTransformer(new StreamSource(xsl.getInputStream()));
            wrapper.modified = xsl.getTechnicalMetadata().getLastModified().getTime();
        } catch (TransformerConfigurationException e) {
            throw new OspException(e);
        }
    }

    wrapper.transformer.clearParameters();

    //send request params in as transform params
    for (Iterator i = request.entrySet().iterator(); i.hasNext();) {
        Entry entry = (Entry) i.next();
        wrapper.transformer.setParameter(entry.getKey().toString(), entry.getValue().toString());
    }

    wrapper.transformer.setParameter(XSL_SITE_ID, presentation.getSiteId());
    if (presentation.getIsFreeFormType()) {
        wrapper.transformer.setParameter(XSL_PRESENTATION_TYPE, presentation.getPresentationType());
    } else if (presentation.getTemplate() != null) {
        wrapper.transformer.setParameter(XSL_PRESENTATION_TYPE, presentation.getTemplate().getId().getValue());
    }
    wrapper.transformer.setParameter(XSL_PRESENTATION_ID, presentation.getId().getValue());

    presentationTemplateCache.put(renderer, wrapper);

    return wrapper.transformer;
}

From source file:org.toobsframework.transformpipeline.domain.BaseXMLTransformer.java

protected void setFactoryResolver(TransformerFactory tFactory) {
    if (uriResolver == null) {
        throw new RuntimeException("uriResolver property must be set");
    }/* w  ww  .  ja  v a2 s . c o m*/
    tFactory.setURIResolver(uriResolver);
    tFactory.setErrorListener(new DefaultErrorHandler(true));
}

From source file:org.wso2.carbon.wsdl2form.Util.java

public static void transform(Source xmlIn, Source xslIn, Result result, Map paramMap, URIResolver uriResolver)
        throws TransformerException {
    try {//from w  w  w .  jav  a  2 s. c o m
        TransformerFactory transformerFactory = new TransformerFactoryImpl();
        transformerFactory.setURIResolver(uriResolver);
        Transformer transformer = transformerFactory.newTransformer(xslIn);
        if (paramMap != null) {
            Set set = paramMap.keySet();
            for (Object aSet : set) {
                String key = (String) aSet;
                String value = (String) paramMap.get(key);
                transformer.setParameter(key, value);
            }
        }
        transformer.transform(xmlIn, result);
    } catch (TransformerException e) {
        log.error(e.getMessage(), e);
        throw e;
    }
}