/*
* Copyright 2000-2013 Enonic AS
* http://www.enonic.com/license
*/
package com.enonic.cms.core.xslt.base;
import javax.xml.transform.TransformerFactory;
import net.sf.saxon.Configuration;
import net.sf.saxon.TransformerFactoryImpl;
import com.enonic.cms.core.xslt.functions.XsltFunctionLibrary;
public abstract class SaxonXsltProcessorFactory
extends BaseXsltProcessorFactory
{
private final Configuration configuration;
public SaxonXsltProcessorFactory()
{
this.configuration = new Configuration();
this.configuration.setLineNumbering( true );
this.configuration.setHostLanguage( Configuration.XSLT );
this.configuration.setVersionWarning( false );
this.configuration.setCompileWithTracing( true );
this.configuration.setValidationWarnings( true );
}
protected final void addFunctionLibrary( final XsltFunctionLibrary library )
{
library.register( this.configuration );
}
@Override
protected final TransformerFactory createTransformerFactory()
{
return new TransformerFactoryImpl( this.configuration );
}
}