--- old/src/com/sun/org/apache/xalan/internal/xsltc/trax/TemplatesImpl.java Wed May 8 13:35:25 2013 +++ new/src/com/sun/org/apache/xalan/internal/xsltc/trax/TemplatesImpl.java Wed May 8 13:35:25 2013 @@ -23,6 +23,7 @@ package com.sun.org.apache.xalan.internal.xsltc.trax; +import com.sun.org.apache.xalan.internal.XalanConstants; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; @@ -124,6 +125,11 @@ private boolean _useServicesMechanism; + /** + * protocols allowed for external references set by the stylesheet processing instruction, Import and Include element. + */ + private String _accessExternalStylesheet = XalanConstants.EXTERNAL_ACCESS_DEFAULT; + static final class TransletClassLoader extends ClassLoader { TransletClassLoader(ClassLoader parent) { super(parent); @@ -171,6 +177,7 @@ _indentNumber = indentNumber; _tfactory = tfactory; _useServicesMechanism = tfactory.useServicesMechnism(); + _accessExternalStylesheet = (String) tfactory.getAttribute(XMLConstants.ACCESS_EXTERNAL_STYLESHEET); } /** * Need for de-serialization, see readObject(). @@ -381,6 +388,7 @@ translet.postInitialization(); translet.setTemplates(this); translet.setServicesMechnism(_useServicesMechanism); + translet.setAllowedProtocols(_accessExternalStylesheet); if (_auxClasses != null) { translet.setAuxiliaryClasses(_auxClasses); }