1 /* 2 * Copyright (c) 2015, 2017, 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 23 * questions. 24 */ 25 26 /** 27 * 28 * Provides the classes for implementing 29 * <a href="https://www.oasis-open.org/committees/download.php/14809/xml-catalogs.html"> 30 * XML Catalogs OASIS Standard V1.1, 7 October 2005</a>. 31 * 32 * <p> 33 * The Catalog API defines a standard solution for resolving external resources 34 * referenced by XML documents. It is fully supported by the XML Processors 35 * allowing application developers to configure a catalog through an XML processor 36 * or system property or the jaxp.properties file to take advantage of the feature. 37 * <p> 38 * The XML Catalog API defines the following interfaces: 39 * <ul> 40 * <li>{@link Catalog} -- The {@link Catalog} interface represents an entity 41 * catalog as defined by the Catalog standard. A {@link Catalog} object 42 * is immutable. Once created, it can be used to find matches in a 43 * {@code system}, {@code public} or {@code uri} entry. 44 * A custom resolver implementation may find it useful for locating local 45 * resources through a catalog. 46 * </li> 47 * <li>{@link CatalogFeatures} -- The {@link CatalogFeatures} class holds all 48 * of the features and properties the Catalog API supports, including 49 * {@code javax.xml.catalog.files}, {@code javax.xml.catalog.defer}, 50 * {@code javax.xml.catalog.prefer}, and {@code javax.xml.catalog.resolve}. 51 * </li> 52 * <li>{@link CatalogManager} -- The {@link CatalogManager} class manages the 53 * creation of XML catalogs and catalog resolvers. 54 * </li> 55 * <li>{@link CatalogResolver} -- The {@link CatalogResolver} class is a 56 * {@code Catalog} resolver that implements {@link org.xml.sax.EntityResolver}, 57 * {@link javax.xml.stream.XMLResolver}, {@link org.w3c.dom.ls.LSResourceResolver}, 58 * and {@link javax.xml.transform.URIResolver}, and resolves external 59 * references using catalogs. 60 * </li> 61 * </ul> 62 * <p> 63 * Unless otherwise noted, passing a null argument to 64 * a constructor or method in any class or interface in this package will 65 * cause a {@code NullPointerException} to be thrown. 66 * 67 * @since 9 68 * 69 */ 70 71 package javax.xml.catalog;