Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.hp.hpl.jena.rdf.arp
Class SAX2RDF

    java.lang.Object
      org.xml.sax.helpers.DefaultHandler
          com.hp.hpl.jena.rdf.arp.impl.XMLHandler
              com.hp.hpl.jena.rdf.arp.impl.SAX2RDFImpl
                  com.hp.hpl.jena.rdf.arp.SAX2RDF

All Implemented Interfaces:
  ARPConfig, ARPErrorNumbers, com.hp.hpl.jena.rdf.arp.impl.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:
  SAX2Model

    public class SAX2RDF

extends com.hp.hpl.jena.rdf.arp.impl.SAX2RDFImpl
implements ARPConfig

Allows connecting an arbitrary source of SAX events with ARP.

For use with a DOM tree, either use `DOM2Model` or see The Java Developer's Almanac for a discussion of how to transform a DOM into a source of SAX events.

The use pattern is to create and initialize one of these, then set it as the content, lexical and error handler for some source of SAX events (e.g. from a parser). The parser must be configured to use namespaces, and namespace prefixes. This initializing can be done for XMLReaders using `installHandlers(org.xml.sax.XMLReader, com.hp.hpl.jena.rdf.arp.impl.XMLHandler)`.

To build a Jena model it is better to use `SAX2Model`. The documentation here, covers usage both using the subclass `SAX2Model`, and not.

This class does not support multithreaded SAX sources, nor IO interruption.

There is further documentation: here and here.

Author:
  Jeremy Carroll

Field Summary

Fields inherited from class com.hp.hpl.jena.rdf.arp.impl.XMLHandler
`nullScopeHandler, nullStatementHandler`

Fields inherited from interface com.hp.hpl.jena.rdf.arp.ARPErrorNumbers
`EM_ERROR, EM_FATAL, EM_IGNORE, EM_WARNING, ERR_ABOUTEACH_NOT_TOPLEVEL, ERR_BAD_RDF_ATTRIBUTE, ERR_BAD_RDF_ELEMENT, ERR_ENCODING_MISMATCH, ERR_GENERIC_IO, ERR_INTERNAL_ERROR, ERR_INTERRUPTED, ERR_LI_AS_TYPE, ERR_NOT_WHITESPACE, ERR_RESOLVING_AGAINST_MALFORMED_BASE, ERR_RESOLVING_AGAINST_RELATIVE_BASE, ERR_RESOLVING_URI_AGAINST_NULL_BASE, ERR_SAX_ERROR, ERR_SAX_FATAL_ERROR, ERR_STRING_NOT_NORMAL_FORM_C, ERR_SYNTAX_ERROR, ERR_UNABLE_TO_RECOVER, ERR_URI_NOT_NORMAL_FORM_C, ERR_UTF_ENCODING, IGN_DAML_COLLECTION, IGN_NO_BASE_URI_SPECIFIED, IGN_PRIVATE_XMLLANG, IGN_XMLBASE_SIGNIFICANT, IGN_XMLBASE_USED, WARN_BAD_NAME, WARN_BAD_NAMESPACE_URI, WARN_BAD_RDF_NAMESPACE_URI, WARN_BAD_XML, WARN_BAD_XML_NAMESPACE_URI, WARN_BAD_XMLLANG, WARN_BIG_FILE, WARN_DEPRECATED_XMLLANG, WARN_ENCODING_MISMATCH, WARN_IN_STRICT_MODE, WARN_LEGAL_REUSE_OF_ID, WARN_MALFORMED_URI, WARN_MALFORMED_XMLLANG, WARN_MINOR_INTERNAL_ERROR, WARN_NON_IANA_ENCODING, WARN_NONCANONICAL_IANA_NAME, WARN_NOT_RDF_NAMESPACE, WARN_PROCESSING_INSTRUCTION_IN_RDF, WARN_QNAME_AS_ID, WARN_RDF_NN_AS_TYPE, WARN_REDEFINITION_OF_ID, WARN_RELATIVE_NAMESPACE_URI_DEPRECATED, WARN_RELATIVE_URI, WARN_RESOLVING_URI_AGAINST_EMPTY_BASE, WARN_SAX_WARNING, WARN_STRING_COMPOSING_CHAR, WARN_STRING_NOT_NORMAL_FORM_C, WARN_UNKNOWN_PARSETYPE, WARN_UNKNOWN_RDF_ATTRIBUTE, WARN_UNKNOWN_RDF_ELEMENT, WARN_UNKNOWN_XML_ATTRIBUTE, WARN_UNQUALIFIED_ATTRIBUTE, WARN_UNQUALIFIED_ELEMENT, WARN_UNQUALIFIED_RDF_ATTRIBUTE, WARN_UNSUPPORTED_ENCODING, WARN_URI_COMPOSING_CHAR, WARN_XMLBASE_MISSING`

Fields inherited from interface com.hp.hpl.jena.rdf.arp.impl.Names
`A_ABOUT, A_BADATTRS, A_BAGID, A_DATATYPE, A_DEPRECATED, A_ID, A_NODEID, A_PARSETYPE, A_RESOURCE, A_TYPE, A_XML_OTHER, A_XMLBASE, A_XMLLANG, A_XMLNS, CoreAndOldTerms, DAML_FIRST, DAML_LIST, DAML_NIL, DAML_REST, damlns, E_DESCRIPTION, E_LI, E_RDF, RDF_FIRST, RDF_NIL, RDF_OBJECT, RDF_PREDICATE, RDF_REST, RDF_STATEMENT, RDF_SUBJECT, RDF_TYPE, rdfns, xmlns, xmlnsns`

Method Summary
`static SAX2RDF` | `create(java.lang.String base)` Factory method to create a new SAX2RDF.
`static SAX2RDF` | `create(java.lang.String base, java.lang.String lang)` Factory method to create a new SAX2RDF.
`ARPHandlers` | `getHandlers()` The handlers used for processing ARP events.
`ARPOptions` | `getOptions()` The options used during parsing.
`static void` | `installHandlers(org.xml.sax.XMLReader rdr, com.hp.hpl.jena.rdf.arp.impl.XMLHandler sax2rdf)` Initializes an XMLReader to use the SAX2RDF object as its handler for all events, and to use namespaces and namespace prefixes.
`static SAX2RDF` | `newInstance(java.lang.String base)` Deprecated. Use `create(String)`.
`static SAX2RDF` | `newInstance(java.lang.String base, java.lang.String lang)` Deprecated. Use `create(String,String)`.
`void` | `setHandlersWith(ARPHandlers handlers)` Copys handlers used for processing ARP events.
`void` | `setOptionsWith(ARPOptions opts)` Copies the options from the argument to be used by this instance.
`void` | `startPrefixMapping(java.lang.String prefix, java.lang.String uri)` Begin the scope of a prefix-URI Namespace mapping.

Methods inherited from class com.hp.hpl.jena.rdf.arp.impl.SAX2RDFImpl
`characters, comment, endCDATA, endDocument, endDTD, endElement, endEntity, endPrefixMapping, error, fatalError, ignorableWhitespace, processingInstruction, skippedEntity, startCDATA, startDocument, startDTD, startElement, startEntity, warning`

Methods inherited from class com.hp.hpl.jena.rdf.arp.impl.XMLHandler
`allowRelativeURIs, endLocalScope, endRDF, getLocator, getSimpleName, initParse, isError, location, sameDocRef, setBadStatementHandler, setDocumentLocator, startRDF, triple, warning`

Methods inherited from class org.xml.sax.helpers.DefaultHandler
`notationDecl, resolveEntity, unparsedEntityDecl`

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface org.xml.sax.ContentHandler
`setDocumentLocator`

Method Detail

### newInstance

    public static SAX2RDF newInstance(java.lang.String base)
                               throws MalformedURIException

  Deprecated. Use `create(String)`.

  Factory method to create a new SAX2RDF. Use `getHandlers()` or `setHandlersWith(com.hp.hpl.jena.rdf.arp.ARPHandlers)` to provide a `StatementHandler`, and usually an `ErrorHandler`

  Parameters:
    `base` - The retrieval URL, or the base URI to be used while parsing.
  Returns:
    A new SAX2RDF
  Throws:
    `MalformedURIException`

### newInstance

    public static SAX2RDF newInstance(java.lang.String base,
                                      java.lang.String lang)
                               throws MalformedURIException

  Deprecated. Use `create(String,String)`.

  Factory method to create a new SAX2RDF. 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. Use `getHandlers()` or `setHandlersWith(com.hp.hpl.jena.rdf.arp.ARPHandlers)` to provide a `StatementHandler`, and usually an `ErrorHandler`
    `lang` - The current value of xml:lang when parsing starts, usually "".
  Returns:
    A new SAX2RDF
  Throws:
    `MalformedURIException` - If base is bad.

### create

    public static SAX2RDF create(java.lang.String base)
                          throws org.xml.sax.SAXParseException

  Factory method to create a new SAX2RDF. Use `getHandlers()` or `setHandlersWith(com.hp.hpl.jena.rdf.arp.ARPHandlers)` to provide a `StatementHandler`, and usually an `ErrorHandler`

  Parameters:
    `base` - The retrieval URL, or the base URI to be used while parsing.
  Returns:
    A new SAX2RDF
  Throws:
    `ParseException`
    `org.xml.sax.SAXParseException`

### create

    public static SAX2RDF create(java.lang.String base,
                                 java.lang.String lang)
                          throws org.xml.sax.SAXParseException

  Factory method to create a new SAX2RDF. 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. Use `getHandlers()` or `setHandlersWith(com.hp.hpl.jena.rdf.arp.ARPHandlers)` to provide a `StatementHandler`, and usually an `ErrorHandler`
    `lang` - The current value of xml:lang when parsing starts, usually "".
  Returns:
    A new SAX2RDF
  Throws:
    `ParseException` - If base or lang is bad.
    `org.xml.sax.SAXParseException`

### 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, with `SAX2Model` it is not required to match this with corresponding `endPrefixMapping` events. Other `NamespaceHandler`s 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 `com.hp.hpl.jena.rdf.arp.impl.XMLHandler`
  Parameters:
    `prefix` - The Namespace prefix being declared.
    `uri` - The Namespace URI the prefix is mapped to.
  Throws:
    `org.xml.sax.SAXParseException`

### getHandlers

    public ARPHandlers getHandlers()

  The handlers used for processing ARP events. Do not use with a `SAX2Model`.

  Specified by:
    `getHandlers` in interface `ARPConfig`
  Overrides:
    `getHandlers` in class `com.hp.hpl.jena.rdf.arp.impl.XMLHandler`
  Returns:
    The handlers used during parsing.
  See Also:
    `ARPConfig.getHandlers()`

### setHandlersWith

    public void setHandlersWith(ARPHandlers handlers)

  Copys handlers used for processing ARP events. Do not use with a `SAX2Model`.

  Specified by:
    `setHandlersWith` in interface `ARPConfig`
  Overrides:
    `setHandlersWith` in class `com.hp.hpl.jena.rdf.arp.impl.XMLHandler`
  Parameters:
    `handlers` - The new values to use.
  See Also:
    `ARPConfig.setHandlersWith(ARPHandlers)`

### getOptions

    public ARPOptions getOptions()

  Description copied from interface: `ARPConfig`
  The options used during parsing. The options can be changed by calling this method and then using the `set..` methods in `ARPOptions`. The options can be copied onto another ARP instance using the `ARPConfig.setOptionsWith(com.hp.hpl.jena.rdf.arp.ARPOptions)` method.

  Specified by:
    `getOptions` in interface `ARPConfig`
  Overrides:
    `getOptions` in class `com.hp.hpl.jena.rdf.arp.impl.XMLHandler`
  Returns:
    The handlers used during parsing.
  See Also:
    `ARPOptions.setDefaultErrorMode()`, `ARPOptions.setLaxErrorMode()`, `ARPOptions.setStrictErrorMode()`, `ARPOptions.setStrictErrorMode(int)`, `ARPOptions.setEmbedding(boolean)`, `ARPOptions.setErrorMode(int, int)`, `ARPConfig.setOptionsWith(com.hp.hpl.jena.rdf.arp.ARPOptions)`

### setOptionsWith

    public void setOptionsWith(ARPOptions opts)

  Description copied from interface: `ARPConfig`
  Copies the options from the argument to be used by this instance. To make further modifications it is necessary to call `ARPConfig.getOptions()` to retrieve this instance's copy of the options.

  Specified by:
    `setOptionsWith` in interface `ARPConfig`
  Overrides:
    `setOptionsWith` in class `com.hp.hpl.jena.rdf.arp.impl.XMLHandler`
  Parameters:
    `opts` - The new values to use.

### installHandlers

    public static void installHandlers(org.xml.sax.XMLReader rdr,
                                       com.hp.hpl.jena.rdf.arp.impl.XMLHandler sax2rdf)
                                throws org.xml.sax.SAXException

  Initializes an XMLReader to use the SAX2RDF object as its handler for all events, and to use namespaces and namespace prefixes.

  Parameters:
    `rdr` - The XMLReader to initialize.
    `sax2rdf` - The SAX2RDF instance to use.
  Throws:
    `org.xml.sax.SAXException`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Hewlett-Packard Development Company, LP