< prev index next >

src/jdk.xml.bind/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/BindInfo.java

Print this page


   1 /*
   2  * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.  Oracle designates this
   8  * particular file as subject to the "Classpath" exception as provided
   9  * by Oracle in the LICENSE file that accompanied this code.
  10  *
  11  * This code is distributed in the hope that it will be useful, but WITHOUT
  12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14  * version 2 for more details (a copy is included in the LICENSE file that
  15  * accompanied this code).
  16  *
  17  * You should have received a copy of the GNU General Public License version
  18  * 2 along with this work; if not, write to the Free Software Foundation,
  19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any


 272 //
 273 //    Internal utility methods
 274 //
 275 //
 276 
 277 
 278     /** Gets the value from the option element. */
 279     private String getOption(String attName, String defaultValue) {
 280         Element opt = DOMUtil.getElement(dom,"options");
 281         if (opt != null) {
 282             String s = DOMUtil.getAttribute(opt,attName);
 283             if (s != null)
 284                 return s;
 285         }
 286         return defaultValue;
 287     }
 288 
 289     /**
 290      * Lazily parsed schema for the binding file.
 291      */
 292     private static SchemaCache bindingFileSchema = new SchemaCache(BindInfo.class.getResource("bindingfile.xsd"));
 293 
 294     /**
 295      * Parses an InputSource into dom4j Document.
 296      * Returns null in case of an exception.
 297      */
 298     private static Document parse( Model model, InputSource is, ErrorReceiver receiver ) throws AbortException {
 299         try {
 300             ValidatorHandler validator = bindingFileSchema.newValidator();
 301 
 302             // set up the pipe line as :
 303             //              /-> extensionChecker -> validator
 304             //   parser-> -<
 305             //              \-> DOM builder
 306             SAXParserFactory pf = XmlFactory.createParserFactory(model.options.disableXmlSecurity);
 307             DocumentBuilderFactory domFactory = XmlFactory.createDocumentBuilderFactory(model.options.disableXmlSecurity);
 308             DOMBuilder builder = new DOMBuilder(domFactory);
 309 
 310             ErrorReceiverFilter controller = new ErrorReceiverFilter(receiver);
 311             validator.setErrorHandler(controller);
 312             XMLReader reader = pf.newSAXParser().getXMLReader();


   1 /*
   2  * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.  Oracle designates this
   8  * particular file as subject to the "Classpath" exception as provided
   9  * by Oracle in the LICENSE file that accompanied this code.
  10  *
  11  * This code is distributed in the hope that it will be useful, but WITHOUT
  12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14  * version 2 for more details (a copy is included in the LICENSE file that
  15  * accompanied this code).
  16  *
  17  * You should have received a copy of the GNU General Public License version
  18  * 2 along with this work; if not, write to the Free Software Foundation,
  19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any


 272 //
 273 //    Internal utility methods
 274 //
 275 //
 276 
 277 
 278     /** Gets the value from the option element. */
 279     private String getOption(String attName, String defaultValue) {
 280         Element opt = DOMUtil.getElement(dom,"options");
 281         if (opt != null) {
 282             String s = DOMUtil.getAttribute(opt,attName);
 283             if (s != null)
 284                 return s;
 285         }
 286         return defaultValue;
 287     }
 288 
 289     /**
 290      * Lazily parsed schema for the binding file.
 291      */
 292     private static SchemaCache bindingFileSchema = new SchemaCache("bindingfile.xsd", BindInfo.class);
 293 
 294     /**
 295      * Parses an InputSource into dom4j Document.
 296      * Returns null in case of an exception.
 297      */
 298     private static Document parse( Model model, InputSource is, ErrorReceiver receiver ) throws AbortException {
 299         try {
 300             ValidatorHandler validator = bindingFileSchema.newValidator();
 301 
 302             // set up the pipe line as :
 303             //              /-> extensionChecker -> validator
 304             //   parser-> -<
 305             //              \-> DOM builder
 306             SAXParserFactory pf = XmlFactory.createParserFactory(model.options.disableXmlSecurity);
 307             DocumentBuilderFactory domFactory = XmlFactory.createDocumentBuilderFactory(model.options.disableXmlSecurity);
 308             DOMBuilder builder = new DOMBuilder(domFactory);
 309 
 310             ErrorReceiverFilter controller = new ErrorReceiverFilter(receiver);
 311             validator.setErrorHandler(controller);
 312             XMLReader reader = pf.newSAXParser().getXMLReader();


< prev index next >