Class 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.
    • 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 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
      • parseFinalOrBlock

        public static 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