Class XSD

Object
XSD
Direct Known Subclasses:
ApplicationSchemaXSD, ApplicationSchemaXSD, AppSchemaXSD, CSW, DC, DCT, FES, GML, GML, GML, GML, GML.DelegatingXSD, GPKG, Interpolation, KML, KML, OGC, OGC, OGC, OWS, OWS, OWS, RangeSubset, Scaling, SE, SLD, SLD, SMIL20, SMIL20LANG, WCS, WCS, WCS, WCSEO, WFS, WFS, WFSCapabilities, WMS, WMTS, WPS, WPS, XLINK, XML, XMLMOD, XS

public abstract class XSD extends Object
Xml Schema for a particular namespace.

This class should is subclasses for the xs, gml, filter, sld, etc... schemas. Subclasses should be implemented as singletons.

Since:
2.5
Author:
Justin Deoliveira, The Open Planning Project
  • Field Details

    • LOGGER

      protected static Logger LOGGER
      logging instance
    • schema

      protected volatile XSDSchema schema
      schema contents
    • typeSchema

      protected Schema typeSchema
      type schema
    • typeMappingProfile

      protected Schema typeMappingProfile
      type mapping profile
    • entityResolver

      protected EntityResolver entityResolver
  • Constructor Details

    • XSD

      protected XSD()
  • Method Details

    • buildTypeSchema

      protected Schema buildTypeSchema()
      Sets up the schema which maps xml schema types to attribute types.
    • buildTypeMappingProfile

      protected Schema buildTypeMappingProfile(Schema typeSchema)
      Sets up a profile which uniquely maps a set of java classes to a schema element.
    • name

      protected Name name(QName qName)
      Convenience method to turn a QName into a Name.

      Useful for building type mapping profiles.

      Parameters:
      qName - The name to transform.
    • getTypeSchema

      public final Schema getTypeSchema()
      Returns the schema containing AttributeType's for all xml types.
    • getTypeMappingProfile

      public final Schema getTypeMappingProfile()
      Returns the subset of getTypeSchema() which maintains a unique java class to xml type mapping.
    • getAllTypeMappingProfiles

      public final List<Schema> getAllTypeMappingProfiles()
      Transitively returns the type mapping profile for this schema and all schemas that this schema depends on.
    • getNamespaceURI

      public abstract String getNamespaceURI()
      The namespace uri of the schema.
    • getSchemaLocation

      public abstract String getSchemaLocation()
      The location on the local disk of the top level .xsd file which defines the schema.
    • getDependencies

      public final Set<XSD> getDependencies()
      The dependencies of this schema.
    • getAllDependencies

      public List<XSD> getAllDependencies()
      Returns all dependencies , direct and transitive that this xsd depends on.
    • allDependencies

      protected List<XSD> allDependencies()
    • addDependencies

      protected void addDependencies(Set<XSD> dependencies)
      Subclass hook to add additional dependencies.
    • getSchema

      public final XSDSchema getSchema() throws IOException
      Returns the XSD object representing the contents of the schema.
      Throws:
      IOException
    • buildSchema

      protected XSDSchema buildSchema() throws IOException
      Builds the schema from the .xsd file specified by getSchemaLocation()

      This method may be extended, but should not be overridden.

      Throws:
      IOException
    • createSchemaLocator

      public SchemaLocator createSchemaLocator()
    • createSchemaLocationResolver

      public SchemaLocationResolver createSchemaLocationResolver()
    • qName

      public QName qName(String local)
      Returns the qualified name for the specified local part.
      Returns:
      The QName, built by simply prepending the namespace for this xsd.
    • equals

      public final boolean equals(Object obj)
      Implementation of equals, equality is based soley on getNamespaceURI().
      Overrides:
      equals in class Object
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • getSupplementarySchemaLocator

      public XSDSchemaLocator getSupplementarySchemaLocator()
      Optionally, a schema locator that helps locating (other) schema's used for includes/imports that might already exist but are not in dependencies
      Returns:
      Schema Locator
    • dispose

      public void dispose()
      Remove all references to this schema, and all schemas built in the same resource set It is important to call this method for every dynamic schema created that is not needed anymore, because references in the static schema's will otherwise keep it alive forever