/* * Copyright 2000-2013 Enonic AS * http://www.enonic.com/license */ package com.enonic.cms.core.xslt.admin; import javax.xml.transform.Source; import javax.xml.transform.Templates; import javax.xml.transform.Transformer; import javax.xml.transform.URIResolver; import org.springframework.stereotype.Component; import com.enonic.cms.core.xslt.XsltProcessorException; import com.enonic.cms.core.xslt.XsltResource; import com.enonic.cms.core.xslt.base.SaxonXsltProcessorFactory; import com.enonic.cms.core.xslt.functions.admin.AdminXsltFunctionLibrary; @Component public final class AdminXsltProcessorFactoryImpl extends SaxonXsltProcessorFactory implements AdminXsltProcessorFactory { public AdminXsltProcessorFactoryImpl() { addFunctionLibrary( new AdminXsltFunctionLibrary() ); } @Override public AdminXsltProcessor createProcessor( final Source xsl, final URIResolver resolver ) throws XsltProcessorException { final Templates templates = compileTemplate( xsl, resolver ); final Transformer transformer = createTransformer( templates, resolver ); return new AdminXsltProcessorImpl( transformer ); } @Override public AdminXsltProcessor createProcessor( final XsltResource xsl, final URIResolver resolver ) throws XsltProcessorException { return createProcessor( xsl.getAsSource(), resolver ); } }