An implementation of RFC 3987, Internationalized Resource Identifiers, and of related standards.

Use an IRIFactory to parse Strings as IRI objects which:

- report violations of the standards,
- permit accessing the components of the IRI.
- support IRI normalization
- support the IRI and URI comparison ladders

An IRIFactory allows:

- The setting of conformance levels, particularly identifying which standard(s) to enforce
- The creation of IRI objects, checking them against the selected standard(s)
- The setting of optional behaviours, as specified in the various standard(s)

The easiest way to use this package is to use one of the preconfigured factories, implementing RFC 3987 or RFC 3986 or a combination implementation appropriate for Semantic Web applications. See the documentation for IRIFactory for more information.

This implementation is limited to 16bits, and hence approximately Unicode 2.1 support. While the Unicode 4.1 code charts are used, all characters from these greater than \uFFFF are ignored. Behaviour with Unicode 4.1 IRIs in Java 1.5, using characters greater than \uFFFF is undefined. This limitation will not be reviewed until Java 1.6 is fully released, and Jena migrates from supporting Java 1.4 and 1.5 to supporting Java 1.5 and 1.6.