Class SchemaLocator

  • All Implemented Interfaces:
    XSDSchemaLocator

    public class SchemaLocator
    extends Object
    implements XSDSchemaLocator
    Helper class which ensures that the xsd schema parser uses pre-build schema objects.

    This class works from a XSD which contains a reference to the schema.

    Example usage:

             XSD xsd = ...;
             String namespaceURI = xsd.getNamesapceURI();
    
             SchemaLocator locator = new SchemaLocator( xsd );
             XSDSchema schema = locator.locateSchema( null, namespaceURI, null, null);
             
    Author:
    Justin Deoliveira, The Open Planning Project
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected static Logger LOGGER
      logging instance
      protected XSD xsd
      The xsd instance.
    • Constructor Summary

      Constructors 
      Constructor Description
      SchemaLocator​(XSD xsd)
      Creates a new instance of the schema locator.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean canHandle​(XSDSchema schema, String namespaceURI, String rawSchemaLocationURI, String resolvedSchemaLocationURI)
      Determines if the locator can locate a schema for the specified namespace and location.
      XSDSchema locateSchema​(XSDSchema schema, String namespaceURI, String rawSchemaLocationURI, String resolvedSchemaLocationURI)
      Creates the schema, returning null if the schema could not be created.
      String toString()  
      • Methods inherited from class Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • LOGGER

        protected static Logger LOGGER
        logging instance
      • xsd

        protected XSD xsd
        The xsd instance.
    • Constructor Detail

      • SchemaLocator

        public SchemaLocator​(XSD xsd)
        Creates a new instance of the schema locator.
        Parameters:
        xsd - The XSD instance that references the schema to be "located".
    • Method Detail

      • canHandle

        public boolean canHandle​(XSDSchema schema,
                                 String namespaceURI,
                                 String rawSchemaLocationURI,
                                 String resolvedSchemaLocationURI)
        Determines if the locator can locate a schema for the specified namespace and location.
        Returns:
        true if it can handle, otherwise false.
      • locateSchema

        public XSDSchema locateSchema​(XSDSchema schema,
                                      String namespaceURI,
                                      String rawSchemaLocationURI,
                                      String resolvedSchemaLocationURI)
        Creates the schema, returning null if the schema could not be created. namespaceURI should not be null. All other parameters are ignored.
        Specified by:
        locateSchema in interface XSDSchemaLocator
        See Also:
        XSDSchemaLocator.locateSchema(org.eclipse.xsd.XSDSchema, java.lang.String, java.lang.String, java.lang.String)
      • toString

        public String toString()
        Overrides:
        toString in class Object