Module org.apache.jena.iri3986
Package org.apache.jena.rfc3986
package org.apache.jena.rfc3986
Implementation of RFC 3986 (URI), RFC 3987 (IRI). As is common, these are referred to
as "3986" regardless just as
Some additional checks for RFC 8141 for URNs are included such as being of the form
java.net.URI covers IRIs. java.net.URI
parses and allocates and follows RFC 2396 with modifications (several of which are in
RFC 3986).
This provides a fast checking operation which does not copy the various parts of the
IRI and which creates a single object. The cost of extracting and allocating strings
happen when the getter for the component is called.
Implements the algorithms specified in RFC 3986 operations for:
- Checking a string matches the IRI grammar.
- Extracting components of an IRI
- Normalizing an IRI
- Resolving an IRI against a base IRI.
- Relativizing an IRI for a given base IRI.
- Building an IRI from components.
- Scheme specific rules for Linked Data HTTP and URNs.
Some additional checks for RFC 8141 for URNs are included such as being of the form
urn:NID:NSS.
Restrictions and limitations:
- Only java characters supported (i.e. UTF16 16 bit characters)
- No normal form C checking when checking
- RFC 3986 "Uniform Resource Identifier (URI): Generic Syntax"
- RFC 3987 "Internationalized Resource Identifiers (IRIs)"
- RFC 8141 Uniform Resource Names (URNs) [scheme specific details]
- RFC 7230 HTTP 1.1 [scheme specific details]
RFC 3986 Grammar
Appendix A. Collected ABNF for URIRFC 3987 modifications Grammar
2.2. ABNF for IRI References and IRIs-
ClassDescriptionAlgorithms on IRIs.More algorithms on IRI3986's.Algorithms for IRIs : resolutionIRI builder.Characters and character classesAn Error handler captures the policy for dealing with warnings, errors and fatal errors.This error handler is a pair of functions, one for warnings, one for errors.Implementation of RFC 3986 (URI), RFC 3987 (IRI).Runtime exception thrown when finding errors in an RFC 3986/7 IRI.Parse IPv4 addressesParse IPv6 addressesRFC 3061 urn:NID:NSS where NID = "oid" (case insensitive) and NSS is the oid grammar.Validate and parse URNs.Implementation of RFC 3986 (URI), RFC 3987 (IRI).Setting for reporting issuesImmutable choice of severity settings for
Issues.Setup and configuration of the IRI3986 parser package.URI scheme URI Registrations URN Registrations This also include URN namespaces.URN structure, following RFC 8141.URN Components.