< prev index next >

src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Parser.java

Print this page




 472                 catch (SAXException e) {}
 473             }
 474 
 475             try {
 476                 factory.setFeature(Constants.NAMESPACE_FEATURE,true);
 477             }
 478             catch (Exception e) {
 479                 factory.setNamespaceAware(true);
 480             }
 481             final SAXParser parser = factory.newSAXParser();
 482             try {
 483                 parser.setProperty(XMLConstants.ACCESS_EXTERNAL_DTD,
 484                         _xsltc.getProperty(XMLConstants.ACCESS_EXTERNAL_DTD));
 485             } catch (SAXNotRecognizedException e) {
 486                 ErrorMsg err = new ErrorMsg(ErrorMsg.WARNING_MSG,
 487                         parser.getClass().getName() + ": " + e.getMessage());
 488                 reportError(WARNING, err);
 489             }
 490 
 491             final XMLReader reader = parser.getXMLReader();

 492             try {
 493                 XMLSecurityManager securityManager =
 494                         (XMLSecurityManager)_xsltc.getProperty(XalanConstants.SECURITY_MANAGER);
 495                 for (XMLSecurityManager.Limit limit : XMLSecurityManager.Limit.values()) {
 496                     reader.setProperty(limit.apiProperty(), securityManager.getLimitValueAsString(limit));

 497                 }
 498                 if (securityManager.printEntityCountInfo()) {

 499                     parser.setProperty(XalanConstants.JDK_ENTITY_COUNT_INFO, XalanConstants.JDK_YES);
 500                 }
 501             } catch (SAXException se) {
 502                 System.err.println("Warning:  " + reader.getClass().getName() + ": "
 503                             + se.getMessage());
 504             }
 505 
 506             return(parse(reader, input));
 507         }
 508         catch (ParserConfigurationException e) {
 509             ErrorMsg err = new ErrorMsg(ErrorMsg.SAX_PARSER_CONFIG_ERR);
 510             reportError(ERROR, err);
 511         }
 512         catch (SAXParseException e){
 513             reportError(ERROR, new ErrorMsg(e.getMessage(),e.getLineNumber()));
 514         }
 515         catch (SAXException e) {
 516             reportError(ERROR, new ErrorMsg(e.getMessage()));
 517         }
 518         return null;
 519     }
 520 
 521     public SyntaxTreeNode getDocumentRoot() {
 522         return _root;
 523     }




 472                 catch (SAXException e) {}
 473             }
 474 
 475             try {
 476                 factory.setFeature(Constants.NAMESPACE_FEATURE,true);
 477             }
 478             catch (Exception e) {
 479                 factory.setNamespaceAware(true);
 480             }
 481             final SAXParser parser = factory.newSAXParser();
 482             try {
 483                 parser.setProperty(XMLConstants.ACCESS_EXTERNAL_DTD,
 484                         _xsltc.getProperty(XMLConstants.ACCESS_EXTERNAL_DTD));
 485             } catch (SAXNotRecognizedException e) {
 486                 ErrorMsg err = new ErrorMsg(ErrorMsg.WARNING_MSG,
 487                         parser.getClass().getName() + ": " + e.getMessage());
 488                 reportError(WARNING, err);
 489             }
 490 
 491             final XMLReader reader = parser.getXMLReader();
 492             String lastProperty = "";
 493             try {
 494                 XMLSecurityManager securityManager =
 495                         (XMLSecurityManager)_xsltc.getProperty(XalanConstants.SECURITY_MANAGER);
 496                 for (XMLSecurityManager.Limit limit : XMLSecurityManager.Limit.values()) {
 497                     lastProperty = limit.apiProperty();
 498                     reader.setProperty(lastProperty, securityManager.getLimitValueAsString(limit));
 499                 }
 500                 if (securityManager.printEntityCountInfo()) {
 501                     lastProperty = XalanConstants.JDK_ENTITY_COUNT_INFO;
 502                     parser.setProperty(XalanConstants.JDK_ENTITY_COUNT_INFO, XalanConstants.JDK_YES);
 503                 }
 504             } catch (SAXException se) {
 505                 XMLSecurityManager.printWarning(reader.getClass().getName(), lastProperty, se);

 506             }
 507 
 508             return(parse(reader, input));
 509         }
 510         catch (ParserConfigurationException e) {
 511             ErrorMsg err = new ErrorMsg(ErrorMsg.SAX_PARSER_CONFIG_ERR);
 512             reportError(ERROR, err);
 513         }
 514         catch (SAXParseException e){
 515             reportError(ERROR, new ErrorMsg(e.getMessage(),e.getLineNumber()));
 516         }
 517         catch (SAXException e) {
 518             reportError(ERROR, new ErrorMsg(e.getMessage()));
 519         }
 520         return null;
 521     }
 522 
 523     public SyntaxTreeNode getDocumentRoot() {
 524         return _root;
 525     }


< prev index next >