jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/LoadDocument.java
changeset 17534 21dc0b2762da
parent 12457 c348e06f0e82
equal deleted inserted replaced
17533:93a2cadbbd33 17534:21dc0b2762da
    21  * $Id: LoadDocument.java,v 1.2.4.1 2005/09/06 07:14:12 pvedula Exp $
    21  * $Id: LoadDocument.java,v 1.2.4.1 2005/09/06 07:14:12 pvedula Exp $
    22  */
    22  */
    23 
    23 
    24 package com.sun.org.apache.xalan.internal.xsltc.dom;
    24 package com.sun.org.apache.xalan.internal.xsltc.dom;
    25 
    25 
       
    26 import com.sun.org.apache.xalan.internal.XalanConstants;
    26 import java.io.FileNotFoundException;
    27 import java.io.FileNotFoundException;
    27 
    28 
    28 import javax.xml.transform.stream.StreamSource;
    29 import javax.xml.transform.stream.StreamSource;
    29 
    30 
    30 import com.sun.org.apache.xalan.internal.xsltc.DOM;
    31 import com.sun.org.apache.xalan.internal.xsltc.DOM;
    31 import com.sun.org.apache.xalan.internal.xsltc.DOMCache;
    32 import com.sun.org.apache.xalan.internal.xsltc.DOMCache;
    32 import com.sun.org.apache.xalan.internal.xsltc.DOMEnhancedForDTM;
    33 import com.sun.org.apache.xalan.internal.xsltc.DOMEnhancedForDTM;
    33 import com.sun.org.apache.xalan.internal.xsltc.TransletException;
    34 import com.sun.org.apache.xalan.internal.xsltc.TransletException;
       
    35 import com.sun.org.apache.xalan.internal.xsltc.compiler.util.ErrorMsg;
    34 import com.sun.org.apache.xalan.internal.xsltc.runtime.AbstractTranslet;
    36 import com.sun.org.apache.xalan.internal.xsltc.runtime.AbstractTranslet;
    35 import com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl;
    37 import com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl;
       
    38 import com.sun.org.apache.xalan.internal.utils.SecuritySupport;
    36 import com.sun.org.apache.xml.internal.dtm.DTM;
    39 import com.sun.org.apache.xml.internal.dtm.DTM;
    37 import com.sun.org.apache.xml.internal.dtm.DTMAxisIterator;
    40 import com.sun.org.apache.xml.internal.dtm.DTMAxisIterator;
    38 import com.sun.org.apache.xml.internal.dtm.DTMManager;
    41 import com.sun.org.apache.xml.internal.dtm.DTMManager;
    39 import com.sun.org.apache.xml.internal.dtm.ref.DTMDefaultBase;
    42 import com.sun.org.apache.xml.internal.dtm.ref.DTMDefaultBase;
    40 import com.sun.org.apache.xml.internal.dtm.ref.EmptyIterator;
    43 import com.sun.org.apache.xml.internal.dtm.ref.EmptyIterator;
   197             if (newdom == null) {
   200             if (newdom == null) {
   198                 final Exception e = new FileNotFoundException(originalUri);
   201                 final Exception e = new FileNotFoundException(originalUri);
   199                 throw new TransletException(e);
   202                 throw new TransletException(e);
   200             }
   203             }
   201         } else {
   204         } else {
       
   205             String accessError = SecuritySupport.checkAccess(uri, translet.getAllowedProtocols(), XalanConstants.ACCESS_EXTERNAL_ALL);
       
   206             if (accessError != null) {
       
   207                 ErrorMsg msg = new ErrorMsg(ErrorMsg.ACCESSING_XSLT_TARGET_ERR,
       
   208                         SecuritySupport.sanitizePath(uri), accessError);
       
   209                 throw new Exception(msg.toString());
       
   210             }
       
   211 
   202             // Parse the input document and construct DOM object
   212             // Parse the input document and construct DOM object
   203             // Trust the DTMManager to pick the right parser and
   213             // Trust the DTMManager to pick the right parser and
   204             // set up the DOM correctly.
   214             // set up the DOM correctly.
   205             XSLTCDTMManager dtmManager = (XSLTCDTMManager)multiplexer
   215             XSLTCDTMManager dtmManager = (XSLTCDTMManager)multiplexer
   206                                                               .getDTMManager();
   216                                                               .getDTMManager();