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 classSchemaModelLoader.AlternativeTypeHandlerHandle an alternative type for an element declarationclassSchemaModelLoader.IdentityConstraintHandlerHandle an identity constraint (key, keyref, unique)classSchemaModelLoader.SelectorHandlerHandle a selector or field within an identity constraint (key, keyref, unique)classSchemaModelLoader.SubstitutionGroupAffiliationHandlerHandle 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 voidcharacters(java.lang.CharSequence chars, Location locationId, int properties)Character datavoidendElement()End of elementPreparedSchemaload(javax.xml.transform.Source source)Load a schema from a serialized component modelintparseFinalOrBlock(java.lang.String attrName, java.lang.String finalValue, int allowed)Parse a list of blocked or final derivations.voidstartElement(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:
startElementin interfaceReceiver- Overrides:
startElementin 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 XPathExceptionCharacter data- Specified by:
charactersin interfaceReceiver- Overrides:
charactersin 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 XPathExceptionEnd of element- Specified by:
endElementin interfaceReceiver- Overrides:
endElementin classProxyReceiver- Throws:
XPathException- if an error occurs
-
parseFinalOrBlock
public int parseFinalOrBlock(java.lang.String attrName, java.lang.String finalValue, int allowed) throws SchemaExceptionParse 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
-
-