Package org.geotools.xsd
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 Summary
Fields Modifier and Type Field Description protected EntityResolverentityResolverprotected static LoggerLOGGERlogging instanceprotected XSDSchemaschemaschema contentsprotected SchematypeMappingProfiletype mapping profileprotected SchematypeSchematype schema
-
Constructor Summary
Constructors Modifier Constructor Description protectedXSD()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected voidaddDependencies(Set<XSD> dependencies)Subclass hook to add additional dependencies.protected List<XSD>allDependencies()protected XSDSchemabuildSchema()Builds the schema from the .xsd file specified bygetSchemaLocation()protected SchemabuildTypeMappingProfile(Schema typeSchema)Sets up a profile which uniquely maps a set of java classes to a schema element.protected SchemabuildTypeSchema()Sets up the schema which maps xml schema types to attribute types.SchemaLocationResolvercreateSchemaLocationResolver()SchemaLocatorcreateSchemaLocator()voiddispose()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 foreverbooleanequals(Object obj)Implementation of equals, equality is based soley ongetNamespaceURI().List<XSD>getAllDependencies()Returns all dependencies , direct and transitive that this xsd depends on.List<Schema>getAllTypeMappingProfiles()Transitively returns the type mapping profile for this schema and all schemas that this schema depends on.Set<XSD>getDependencies()The dependencies of this schema.abstract StringgetNamespaceURI()The namespace uri of the schema.XSDSchemagetSchema()Returns the XSD object representing the contents of the schema.abstract StringgetSchemaLocation()The location on the local disk of the top level .xsd file which defines the schema.XSDSchemaLocatorgetSupplementarySchemaLocator()Optionally, a schema locator that helps locating (other) schema's used for includes/imports that might already exist but are not in dependenciesSchemagetTypeMappingProfile()Returns the subset ofgetTypeSchema()which maintains a unique java class to xml type mapping.SchemagetTypeSchema()Returns the schema containingAttributeType's for all xml types.inthashCode()protected Namename(QName qName)Convenience method to turn a QName into a Name.QNameqName(String local)Returns the qualified name for the specified local part.StringtoString()
-
-
-
Field Detail
-
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
-
-
Method Detail
-
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 containingAttributeType's for all xml types.
-
getTypeMappingProfile
public final Schema getTypeMappingProfile()
Returns the subset ofgetTypeSchema()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.
-
getAllDependencies
public List<XSD> getAllDependencies()
Returns all dependencies , direct and transitive that this xsd depends on.
-
addDependencies
protected void addDependencies(Set<XSD> dependencies)
Subclass hook to add additional dependencies.
-
getSchema
public final XSDSchema getSchema() throws IOExceptionReturns the XSD object representing the contents of the schema.- Throws:
IOException
-
buildSchema
protected XSDSchema buildSchema() throws IOExceptionBuilds the schema from the .xsd file specified bygetSchemaLocation()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 ongetNamespaceURI().
-
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
-
-