Class DTDResolver

  • All Implemented Interfaces:
    org.xml.sax.EntityResolver

    public class DTDResolver
    extends java.lang.Object
    implements org.xml.sax.EntityResolver
    Entity resolver for various DTD/schema. Holds information and performs resolving on a variety of DTD and schema, both those defined by Castor and those used by Castor and cached by it.

    The following DTD and XML schema are supported:

    • Castor mapping DTD/Schema
    • Castor JDO configuration DTD/Schema
    • XML Schema DTDs

    This resolver can resolve both public and system identifiers, and will return an input stream into a cached resource in the Castor JAR.

    This resolver can be used as wrapper to another entity resolver. For example, if a resolver is used for external entities in the mapping file, construct a new resolver using the DTDResolver(EntityResolver) constructor.

    Version:
    $Revision: 7774 $ $Date: 2005-12-13 14:58:48 -0700 (Tue, 13 Dec 2005) $
    Author:
    Assaf Arkin
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      (package private) static class  DTDResolver.DTDInfo
      Holds information about a given DTD of XML Schema.
    • Constructor Summary

      Constructors 
      Constructor Description
      DTDResolver()
      Constructs a new DTD resolver.
      DTDResolver​(org.xml.sax.EntityResolver resolver)
      Constructs a new DTD resolver.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.net.URL getBaseURL()
      Returns the base URL in use.
      org.xml.sax.InputSource resolveEntity​(java.lang.String publicId, java.lang.String systemId)
      Resolves public & system ids to files stored within the JAR.
      void setBaseURL​(java.net.URL baseUrl)
      Sets the base URL to use.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • DTDResolver

        public DTDResolver​(org.xml.sax.EntityResolver resolver)
        Constructs a new DTD resolver. This resolver wraps another resolver and will delegate all resolving not related to the Castor mapping files to that resolver. The wrapper resolver will typically be used for entities appearing in the actual mapping file.
      • DTDResolver

        public DTDResolver()
        Constructs a new DTD resolver.
    • Method Detail

      • setBaseURL

        public void setBaseURL​(java.net.URL baseUrl)
        Sets the base URL to use.
        Parameters:
        baseUrl - Base URL.
      • getBaseURL

        public java.net.URL getBaseURL()
        Returns the base URL in use.
        Returns:
        The base URL.
      • resolveEntity

        public org.xml.sax.InputSource resolveEntity​(java.lang.String publicId,
                                                     java.lang.String systemId)
                                              throws java.io.IOException,
                                                     org.xml.sax.SAXException
        Resolves public & system ids to files stored within the JAR.
        Specified by:
        resolveEntity in interface org.xml.sax.EntityResolver
        Throws:
        java.io.IOException
        org.xml.sax.SAXException
        See Also:
        EntityResolver.resolveEntity(java.lang.String, java.lang.String)