Class SAX2Model

  • All Implemented Interfaces:
    ARPConfig, ARPErrorNumbers, Names, org.xml.sax.ContentHandler, org.xml.sax.DTDHandler, org.xml.sax.EntityResolver, org.xml.sax.ErrorHandler, org.xml.sax.ext.LexicalHandler
    Direct Known Subclasses:
    DOM2Model

    public class SAX2Model
    extends SAX2RDF
    Use arbitrary SAX input to Jena. See ARP SAX documentation.
    • Method Detail

      • create

        public static SAX2Model create​(java.lang.String base,
                                       Model m)
                                throws org.xml.sax.SAXParseException
        Factory method to create a new SAX2Model.
        Parameters:
        base - The retrieval URL, or the base URI to be used while parsing.
        m - A Jena Model in which to put the triples, this can be null. If it is null, then use SAX2RDF.getHandlers() or SAX2RDF.setHandlersWith(org.apache.jena.rdfxml.xmlinput.ARPHandlers) to provide a StatementHandler, and usually an ErrorHandler
        Returns:
        A new SAX2Model
        Throws:
        org.xml.sax.SAXParseException - On a.error error during setup, maybe malformed base URI
      • create

        public static SAX2Model create​(java.lang.String base,
                                       Model m,
                                       java.lang.String lang)
                                throws org.xml.sax.SAXParseException
        Factory method to create a new SAX2Model. This is particularly intended for when parsing a non-root element within an XML document. In which case the application needs to find this value in the outer context. Optionally, namespace prefixes can be passed from the outer context using startPrefixMapping(java.lang.String, java.lang.String).
        Parameters:
        base - The retrieval URL, or the base URI to be used while parsing.
        m - A Jena Model in which to put the triples, this can be null. If it is null, then use SAX2RDF.getHandlers() or SAX2RDF.setHandlersWith(org.apache.jena.rdfxml.xmlinput.ARPHandlers) to provide a StatementHandler, and usually an ErrorHandler
        lang - The current value of xml:lang when parsing starts, usually "".
        Returns:
        A new SAX2Model
        Throws:
        org.xml.sax.SAXParseException - On a.error error during setup, maybe malformed base URI
      • startPrefixMapping

        public void startPrefixMapping​(java.lang.String prefix,
                                       java.lang.String uri)
                                throws org.xml.sax.SAXParseException
        Begin the scope of a prefix-URI Namespace mapping.

        This is passed to any NamespaceHandler associated with this parser. It can be called before the initial startElement event, or other events associated with the elements being processed. When building a Jena Model, it is not required to match this with corresponding endPrefixMapping events. Other NamespaceHandlers may be fussier. When building a Jena Model, the prefix bindings are remembered with the Model, and may be used in some output routines. It is permitted to not call this method for prefixes declared in the outer context, in which case, any output routine will need to use a gensym for such namespaces.

        Specified by:
        startPrefixMapping in interface org.xml.sax.ContentHandler
        Overrides:
        startPrefixMapping in class SAX2RDF
        Parameters:
        prefix - The Namespace prefix being declared.
        uri - The Namespace URI the prefix is mapped to.
        Throws:
        org.xml.sax.SAXParseException
      • close

        public void close()
      • setErrorHandler

        public RDFErrorHandler setErrorHandler​(RDFErrorHandler errHandler)
        Change the error handler.

        Note that errors of class ParseExceptioncan be promoted using the ParseException.promote()method. See ARP documentation for ErrorHandlerfor the details of error promotion.

        Parameters:
        errHandler - The new error handler.
        Returns:
        The old error handler.
      • setProperty

        public java.lang.Object setProperty​(java.lang.String str,
                                            java.lang.Object value)
                                     throws JenaException
        Change a property of the RDF or XML parser.

        I do not believe that many of the XML features or properties are in fact useful for ARP users. The ARP properties allow fine-grained control over error reporting.

        This interface can be used to set and get:

        SAX2 features
        See Xerces features . Value should be given as a String "true" or "false" or a Boolean.
        SAX2 properties
        See Xerces properties .
        Xerces features
        See Xerces features . Value should be given as a String "true" or "false" or a Boolean.
        Xerces properties
        See Xerces properties .
        ARP properties
        These are referred to either by their property name, (see below) or by an absolute URL of the form http://jena.hpl.hp.com/arp/properties/<PropertyName>. The value should be a String, an Integer or a Boolean depending on the property.
        ARP property names and string values are case insensitive.
        ARP Properties
        Property Name Description Value class Legal Values
        error-mode ARPOptions.setDefaultErrorMode()
        ARPOptions.setLaxErrorMode()
        ARPOptions.setStrictErrorMode()
        ARPOptions.setStrictErrorMode(int)
        String default
        lax
        strict
        strict-ignore
        strict-warning
        strict-error
        strict.error
        embedding ARPOptions.setEmbedding(boolean) String or Boolean true or false
        ERR_<XXX>
        WARN_<XXX>
        IGN_<XXX>
        ARPErrorNumbers
        Any of the error condition numbers listed.
        ARPOptions.setErrorMode(int, int)
        String or Integer EM_IGNORE
        EM_WARNING
        EM_ERROR
        EM_FATAL
        Parameters:
        str - The property to set.
        value - The new value; values of class String will be converted into appropriate classes. Values of class Boolean or Integer will be used for appropriate properties.
        Returns:
        The old value, or null if none, or old value is inaccesible.
        Throws:
        JenaException - For bad values.
        See Also:
        SAX2RDF.getOptions(), ARPOptions