Class SchemaFactory


  • public class SchemaFactory
    extends Object
    This is the main entry point into the XSI parsing routines.

    Example Use:

     Schema x = SchemaFactory.getInstance("MyTargetNameSpace",new URI("MyNameSpaceURI");
     
    Author:
    dzwiers, Refractions Research, Inc. http://www.refractions.net, $Author:$ (last modification)
    • Constructor Detail

      • SchemaFactory

        protected SchemaFactory()
        Default constructor.
    • Method Detail

      • getInstance

        public static Schema getInstance​(URI targetNamespace,
                                         URI desiredSchema)
                                  throws SAXException
        Returns an instance of the desired class. There is no provision for: a) same instances each call b) different instances each call c) this factory being thread safe
        Parameters:
        desiredSchema - URI the uri of which you want a schema instance.
        Returns:
        Schema an instance of the desired schema.
        Throws:
        SAXException
      • getInstance

        public static Schema getInstance​(URI targetNamespace,
                                         InputStream is1)
                                  throws SAXException
        Throws:
        SAXException
      • getInstance

        public static Schema getInstance​(String targetNamespace)
      • getInstance

        public static Schema getInstance​(URI targetNamespace)
        Returns an instance of the targetNamespace if it can be found ... null otherwise. targetNamespaces which can be found are either hard-coded namespaces (SchemaFactory.properties), have already been parsed or were registered.
        See Also:
        #registerSchema(Strin,Schema)
      • getSchemas

        public static Schema[] getSchemas​(String prefix)
      • getInstance

        public static Schema getInstance​(URI targetNamespace,
                                         URI desiredSchema,
                                         Level level)
                                  throws SAXException
        Returns an instance of the desired class. There is no provision for: a) same instances each call b) different instances each call c) this factory being thread safe
        Parameters:
        targetNamespace - The targetNamespace to search for.
        desiredSchema - URI the uri of which you want a schema instance.
        level - Level
        Returns:
        Schema an instance of the desired schema.
        Throws:
        SAXException - When something goes wrong
      • getSAXHandler

        protected XSISAXHandler getSAXHandler​(URI uri)
      • getInstance

        public static Schema getInstance​(URI targetNamespace,
                                         InputStream is1,
                                         Level level)
                                  throws SAXException
        Throws:
        SAXException
      • registerSchema

        public static void registerSchema​(URI targetNamespace,
                                          Schema schema)
        Registers a Schema instance with the factory. A clone is NOT created within this method. The Schema passed in is associated with the specified targetNamespace. The Schema is not tested to ensure the intended targetNamespace (schema.getTargetNamespace()) is equal to targetNamespace. The ramifications is that you may hack wildly within the repository, but we aware you may have some 'undocumented features' as a result (odd Schemas being returned).