Package com.saxonica.ee.schema
Class SchemaModelLoader
- java.lang.Object
-
- net.sf.saxon.event.SequenceReceiver
-
- net.sf.saxon.event.ProxyReceiver
-
- com.saxonica.ee.schema.SchemaModelLoader
-
- All Implemented Interfaces:
javax.xml.transform.Result
,Receiver
public class SchemaModelLoader extends ProxyReceiver
This class allows a compiled schema model in SCM format to be loaded into memory. At present the data is accepted without validation.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
SchemaModelLoader.AlternativeTypeHandler
Handle an alternative type for an element declarationclass
SchemaModelLoader.IdentityConstraintHandler
Handle an identity constraint (key, keyref, unique)class
SchemaModelLoader.SelectorHandler
Handle a selector or field within an identity constraint (key, keyref, unique)class
SchemaModelLoader.SubstitutionGroupAffiliationHandler
Handle a substitution group affiliation
-
Field Summary
-
Fields inherited from class net.sf.saxon.event.ProxyReceiver
nextReceiver
-
Fields inherited from class net.sf.saxon.event.SequenceReceiver
pipelineConfiguration, previousAtomic, systemId
-
-
Constructor Summary
Constructors Constructor Description SchemaModelLoader(Configuration config)
Create a schema model loader
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
characters(java.lang.CharSequence chars, Location locationId, int properties)
Character datavoid
endElement()
End of elementPreparedSchema
load(javax.xml.transform.Source source)
Load a schema from a serialized component modelint
parseFinalOrBlock(java.lang.String attrName, java.lang.String finalValue, int allowed)
Parse a list of blocked or final derivations.void
startElement(NodeName elemName, SchemaType type, AttributeMap attributes, NamespaceMap namespaces, Location location, int properties)
Notify the start of an element-
Methods inherited from class net.sf.saxon.event.ProxyReceiver
append, close, comment, endDocument, getNamePool, getNextReceiver, open, processingInstruction, setPipelineConfiguration, setSystemId, setUnderlyingReceiver, setUnparsedEntity, startDocument, usesTypeAnnotations
-
Methods inherited from class net.sf.saxon.event.SequenceReceiver
append, decompose, flatten, getConfiguration, getErrorCodeForDecomposingFunctionItems, getPipelineConfiguration, getSystemId, handlesAppend
-
-
-
-
Constructor Detail
-
SchemaModelLoader
public SchemaModelLoader(Configuration config)
Create a schema model loader- Parameters:
config
- the Saxon configuration. This must be a schema-aware configuration. This SchemaModelLoader creates a PreparedSchema but does not directly load it into the Configuration cache; that is the job of the caller.- Throws:
java.lang.IllegalArgumentException
- if the configuration is not schema-aware
-
-
Method Detail
-
load
public PreparedSchema load(javax.xml.transform.Source source) throws XPathException
Load a schema from a serialized component model- Parameters:
source
- the XML source of the serialized component model- Returns:
- the corresponding PreparedSchema containing the deserialized schema components
- Throws:
XPathException
- if an error occurs
-
startElement
public void startElement(NodeName elemName, SchemaType type, AttributeMap attributes, NamespaceMap namespaces, Location location, int properties) throws XPathException
Notify the start of an element- Specified by:
startElement
in interfaceReceiver
- Overrides:
startElement
in classProxyReceiver
- Parameters:
elemName
- the name of the element.type
- the type annotation of the element.attributes
- the attributes of this elementnamespaces
- the in-scope namespaces of this element: generally this is all the in-scope namespaces, without relying on inheriting namespaces from parent elementslocation
- an object providing information about the module, line, and column where the node originatedproperties
- bit-significant properties of the element node. If there are no relevant properties, zero is supplied. The definitions of the bits are in classReceiverOption
- Throws:
XPathException
- if an error occurs
-
characters
public void characters(java.lang.CharSequence chars, Location locationId, int properties) throws XPathException
Character data- Specified by:
characters
in interfaceReceiver
- Overrides:
characters
in classProxyReceiver
- Parameters:
chars
- The characterslocationId
- provides information such as line number and system ID.properties
- Bit significant value. The following bits are defined:- DISABLE_ESCAPING
- Disable escaping for this text node
- USE_CDATA
- Output as a CDATA section
- Throws:
XPathException
- if an error occurs
-
endElement
public void endElement() throws XPathException
End of element- Specified by:
endElement
in interfaceReceiver
- Overrides:
endElement
in classProxyReceiver
- Throws:
XPathException
- if an error occurs
-
parseFinalOrBlock
public int parseFinalOrBlock(java.lang.String attrName, java.lang.String finalValue, int allowed) throws SchemaException
Parse a list of blocked or final derivations. Used to process the block, final, blockDefault, and finalDefault attributes.- Parameters:
attrName
- the attribute name (block or final)finalValue
- A list of values to be parsed, as a string, for example "extension restriction"allowed
- The permitted values, as a bit-significant integer. For example the value (DERIVE_BY_EXTENSION | DERIVE_BY_RESTRICTION) allows the values "extension" and "restriction" to appear.- Returns:
- The final/blocked values, as a bit-significant integer
- Throws:
SchemaException
- if a failure occurs
-
-