Class SchemaModelLoader

All Implemented Interfaces:
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.
  • Constructor Details

    • 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:
      IllegalArgumentException - if the configuration is not schema-aware
  • Method Details

    • load

      public PreparedSchema load(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 interface Receiver
      Overrides:
      startElement in class ProxyReceiver
      Parameters:
      elemName - the name of the element.
      type - the type annotation of the element.
      attributes - the attributes of this element
      namespaces - the in-scope namespaces of this element: generally this is all the in-scope namespaces, without relying on inheriting namespaces from parent elements
      location - an object providing information about the module, line, and column where the node originated
      properties - bit-significant properties of the element node. If there are no relevant properties, zero is supplied. The definitions of the bits are in class ReceiverOption
      Throws:
      XPathException - if an error occurs
    • characters

      public void characters(UnicodeString chars, Location locationId, int properties) throws XPathException
      Character data
      Specified by:
      characters in interface Receiver
      Overrides:
      characters in class ProxyReceiver
      Parameters:
      chars - The characters
      locationId - 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 interface Receiver
      Overrides:
      endElement in class ProxyReceiver
      Throws:
      XPathException - if an error occurs
    • parseFinalOrBlock

      public static int parseFinalOrBlock(String attrName, 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