com.hp.hpl.jena.iri
Interface ViolationCodes

All Known Implementing Classes:
com.hp.hpl.jena.iri.impl.IRIFactoryImpl, Violation

public interface ViolationCodes

Detailed description of problems detected. This interface lists the codes returned by Violation.getViolationCode(). Note: not all are errors, some merely reflect internal workings.

The violations are evaluated against the following standards:

[RDF]
Resource Description Framework (RDF): Concepts and Abstract Syntax (section RDF URI References)
[URI] RFC 3986
Uniform Resource Identifier (URI): Generic Syntax
[Unicode]
Unicode
[IRI] RFC 3987
Internationalized Resource Identifiers (IRIs)
[XML]
Extensible Markup Language (XML) 1.0 (Third Edition) (section system identifier)
[XLink]
XML Linking Language (XLink) Version 1.0 (section Locator Attribute (href))
[Schema]
XML Schema Part 2: Datatypes Second Edition (section anyURI)

Scheme specific checks are enabled. The syntax of the following schemes is fully supported:

[http] RFC 2616
Hypertext Transfer Protocol -- HTTP/1.1
Pertinent text from the specification includes:
See section 3.2.2
http_URL = "http:" "//" host [ ":" port ] [ abs_path [ "?" query ]]

This scheme requires the use of hostnames conforming to DNS syntax. The IDNA compatibile processing of IRIs for this scheme is enabled if this scheme is enabled. To disable this behaviour, this scheme has to be disabled using // TODO how to disable scheme and DNS compatibile rules have to be disabled using
IRIFactory.dnsViolation(boolean, boolean). The default port is 80.
The USER component must be omitted.
The HOST component is required.

The following are examples of well-formed IRIs using this scheme:
The following are examples of ill-formed IRIs using this scheme:
[https] RFC 2818
Hypertext Transfer Protocol Secure
Pertinent text from the specification includes:
See section 2.4
HTTP/TLS is differentiated from HTTP URIs by using the 'https' protocol identifier in place of the 'http' protocol identifier.
See [http], specifically, section 3.2.2
http_URL = "http:" "//" host [ ":" port ] [ abs_path [ "?" query ]]

This scheme requires the use of hostnames conforming to DNS syntax. The IDNA compatibile processing of IRIs for this scheme is enabled if this scheme is enabled. To disable this behaviour, this scheme has to be disabled using // TODO how to disable scheme and DNS compatibile rules have to be disabled using
IRIFactory.dnsViolation(boolean, boolean). The default port is 443.
The USER component must be omitted.
The HOST component is required.

The following are examples of well-formed IRIs using this scheme:
The following are examples of ill-formed IRIs using this scheme:
[ftp] RFC 1738
File Transfer Protocol (section 3.2)
Pertinent text from the specification includes:
See section 5
ftpurl = "ftp://" login [ "/" fpath [ ";type=" ftptype ]]
fpath = fsegment *[ "/" fsegment ]
fsegment = *[ uchar | "?" | ":" | "@" | "&" | "=" ]
ftptype = "A" | "I" | "D" | "a" | "i" | "d"
login = [ user [ ":" password ] "@" ] hostport
safe = "$" | "-" | "_" | "." | "+"
extra = "!" | "*" | "'" | "(" | ")" | ","
escape = "%" hex hex
unreserved = alpha | digit | safe | extra
uchar = unreserved | escape

This scheme requires the use of hostnames conforming to DNS syntax. The IDNA compatibile processing of IRIs for this scheme is enabled if this scheme is enabled. To disable this behaviour, this scheme has to be disabled using // TODO how to disable scheme and DNS compatibile rules have to be disabled using
IRIFactory.dnsViolation(boolean, boolean). The default port is 21.
The HOST component is required.
The PATHQUERY component:
The following are examples of well-formed IRIs using this scheme:
The following are examples of ill-formed IRIs using this scheme:
[news] RFC 1738
USENET news (section 3.6)
Pertinent text from the specification includes:
See section 5
newsurl = "news:" grouppart
grouppart = "*" | group | article
group = alpha *[ alpha | digit | "-" | "." | "+" | "_" ]
article = 1*[ uchar | ";" | "/" | "?" | ":" | "&" | "=" ] "@" host
safe = "$" | "-" | "_" | "." | "+"
extra = "!" | "*" | "'" | "(" | ")" | ","
escape = "%" hex hex
unreserved = alpha | digit | safe | extra
uchar = unreserved | escape
The AUTHORITY component must be omitted.
The PATH component is required.
The PATHQUERY component:
  • is required to match the regular expression: [*]|[a-zA-Z][-a-zA-Z0-9.+_]*|[^@]*@@{host}
  • may use ~@ as sub-delimiters, and care must be taken when percent escaping or unescaping these delimiters to not disrupt the scheme specific syntax.

The following are examples of well-formed IRIs using this scheme:
  • <news:*>
  • <news:group.it>
  • <news:arb?itrary@news.example.org>
  • <news:arbitrary@news.example.org>

The following are examples of ill-formed IRIs using this scheme:
  • <news:arbitrary@news.examplç.org>
  • <news:arbitr?ary@news.examplç.org>
  • <news:///foo/bar>
  • <news://user@example.org/foo>
[nntp] RFC 1738
USENET news using NNTP access (section 3.7)
Pertinent text from the specification includes:
See section 5
nntpurl = "nntp://" hostport "/" group [ "/" digits ]
group = alpha *[ alpha | digit | "-" | "." | "+" | "_" ]

This scheme requires the use of hostnames conforming to DNS syntax. The IDNA compatibile processing of IRIs for this scheme is enabled if this scheme is enabled. To disable this behaviour, this scheme has to be disabled using // TODO how to disable scheme and DNS compatibile rules have to be disabled using
IRIFactory.dnsViolation(boolean, boolean). The default port is 119.
The QUERY component must be omitted.
The USER component must be omitted.
The HOST component is required.
The PATH component is required to match the regular expression: /[a-zA-Z][-a-zA-Z0-9.+_]*(/[0-9]+)?

The following are examples of well-formed IRIs using this scheme:
The following are examples of ill-formed IRIs using this scheme:
[file] RFC 1738
Host-specific file names (section 3.10)
Pertinent text from the specification includes:
See section 5
fileurl = "file://" [ host | "localhost" ] "/" fpath
fpath = fsegment *[ "/" fsegment ]
fsegment = *[ uchar | "?" | ":" | "@" | "&" | "=" ]
safe = "$" | "-" | "_" | "." | "+"
extra = "!" | "*" | "'" | "(" | ")" | ","
escape = "%" hex hex
unreserved = alpha | digit | safe | extra
uchar = unreserved | escape

This scheme requires the use of hostnames conforming to DNS syntax. The IDNA compatibile processing of IRIs for this scheme is enabled if this scheme is enabled. To disable this behaviour, this scheme has to be disabled using // TODO how to disable scheme and DNS compatibile rules have to be disabled using
IRIFactory.dnsViolation(boolean, boolean). The USER component must be omitted.
The PORT component must be omitted.
The AUTHORITY component is required.
The PATHQUERY component:
The following are examples of well-formed IRIs using this scheme:
The following are examples of ill-formed IRIs using this scheme:

The syntax of the following schemes is partially supported:

[mailto] RFC 2368
Electronic mail address
The AUTHORITY component must be omitted.
[urn] RFC 2141
Uniform Resource Names
Pertinent text from the specification includes:
See ":" #sec-2">section 2
All URNs have the following syntax (phrases enclosed in quotes are REQUIRED):
<URN> ::= "urn:" <NID> ":" <NSS>
See ::= | | #sec-2.1">section 2.1
<NID>         ::= <let-num> [ 1,31<let-num-hyp> ]

<let-num-hyp> ::= <upper> | <lower> | <number> | "-"

<let-num>     ::= <upper> | <lower> | <number>
See ::= | | | | ::= "(" | ")" | "+" | "," | "-" | "." | ":" | "=" | "@" | ";" | "$" | "_" | "!" | "*" | "'" #sec-2.2">section 2.2
<NSS>         ::= 1*<URN chars>

<URN chars>   ::= <trans> | "%" <hex> <hex>

<trans>       ::= <upper> | <lower> | <number> | <other> | <reserved>

<other>       ::= "(" | ")" | "+" | "," | "-" | "." |
                  ":" | "=" | "@" | ";" | "$" |
                  "_" | "!" | "*" | "'"
See section 2.3.2
RFC 1630 [2] reserves the characters "/", "?", and "#" for particular purposes. The URN-WG has not yet debated the applicability and precise semantics of those purposes as applied to URNs. Therefore, these characters are RESERVED for future developments. Namespace developers SHOULD NOT use these characters in unencoded form, but rather use the appropriate %-encoding for each character.
The AUTHORITY component must be omitted.
The QUERY component must be omitted.
The PATH component is required.
The PATH component:
  • is required to match the regular expression: @{lowercase([a-z0-9])}@{lowercase([-a-z0-9])}{1,31}:[^/~]+
  • may use /~ as sub-delimiters, and care must be taken when percent escaping or unescaping these delimiters to not disrupt the scheme specific syntax.

TODO: registry of URNs, implement something of the NSS with Namespace specific rules.
TODO: To avoid confusion with the "urn:" identifier, the NID "urn" is reserved and MUST NOT be used.
TODO: e-mail about frags in URNs
TODO: In addition, octet 0 (0 hex) should NEVER be used, in either unencoded or %-encoded form.
The following are examples of well-formed IRIs using this scheme:
  • <urn:x-hp:foo?>

The following are examples of ill-formed IRIs using this scheme:
  • <urn:x-hp:foo/bar>
  • <urn://foo>
  • <urn:foo:bar?query>
  • <urn:foo:ff~>

The names of the following registered schemes are known, but they are otherwise unsupported:

[telnet] RFC 4248
Reference to interactive sessions
[wais] RFC 4156
Wide Area Information Servers
[prospero] RFC 4157
Prospero Directory Service
[gopher] RFC 4266
The gopher URI scheme
[z39.50s] RFC 2056
Z39.50 Session
[z39.50r] RFC 2056
Z39.50 Retrieval
[cid] RFC 2392
content identifier
[mid] RFC 2392
message identifier
[vemmi] RFC 2122
versatile multimedia interface
[service] RFC 2609
service location
[imap] RFC 2192
internet message access protocol
[nfs] RFC 2224
network file system protocol
[acap] RFC 2244
application configuration access protocol
[rtsp] RFC 2326
real time streaming protocol
[tip] RFC 2371
Transaction Internet Protocol
[pop] RFC 2384
Post Office Protocol v3
[data] RFC 2397
data
[dav] RFC 2518
dav
[opaquelocktoken] RFC 2518
opaquelocktoken
[sip] RFC 3261
session initiation protocol
[sips] RFC 3261
secure session intitiaion protocol
[tel] RFC 2806
telephone
[fax] RFC 2806
fax
[modem] RFC 2806
modem
[soap.beep] RFC 3288
soap.beep
[soap.beeps] RFC 3288
soap.beeps
[xmlrpc.beep] RFC 3529
xmlrpc.beep
[xmlrpc.beeps] RFC 3529
xmlrpc.beeps
[go] RFC 3368
go
[h323] RFC 3508
H.323
[ipp] RFC 3510
Internet Printing Protocol
[tftp] RFC 3617
Trivial File Transfer Protocol
[mupdate] RFC 3656
Mailbox Update (MUPDATE) Protocol
[pres] RFC 3859
Presence
[im] RFC 3860
Instant Messaging
[mtqp] RFC 3887
Message Tracking Query Protocol
[iris.beep] RFC 3983
iris.beep
[dict] RFC 2229
dictionary service protocol
[snmp] RFC 4088
Simple Network Management Protocol
[crid] RFC 4078
TV-Anytime Content Reference Identifier
[tag] RFC 4151
tag
[afs]
Andrew File System global file names
[tn3270]
Interactive 3270 emulation sessions
[mailserver]
Access to data available from mail servers
[dns]
Domain Name System
[info]
Information Assets with Identifiers in Public Namespaces
[ldap]
Lightweight Directory Access Protocol

Other relevant standards include:

[URL_Registratrion] RFC 2717
Registration Procedures for URL Scheme Names

Author:
Jeremy J. Carroll

Nested Class Summary
static class ViolationCodes.Initialize
          This class is not part of the API.
 
Field Summary
static int ACE_PREFIX
          Internal code.
static int BAD_BIDI_SUBCOMPONENT
          There are restrictions on bidi characters in subcomponents of IRIs
static int BAD_DOT_IN_IDN
          // TODO complete entry for BAD_DOT_IN_IDN
static int BAD_IDN
          The Internationalized Domain Name check failed (a third party library is used).
static int BAD_IDN_UNASSIGNED_CHARS
          Characters used in the IRI were unassigned in the version of Unicode known by this system.
static int BIDI_FORMATTING_CHARACTER
          A prohibited bi-directional control character was found.
static int COMPATIBILITY_CHARACTER
          TODO
static int CONTROL_CHARACTER
          Control characters are not allowed in URIs or RDF URI References.
static int DEFAULT_PORT_SHOULD_BE_OMITTED
          If the port is the default one for the scheme it should be omitted.
static int DEPRECATED_UNICODE_CHARACTER
          TODO
static int DISCOURAGED_IRI_CHARACTER
          Certain characters are discouraged in IRIs.
static int DISCOURAGED_XML_CHARACTER
          The character is discouraged in XML documents.
static int DNS_LABEL_DASH_START_OR_END
          A DNS name had a - at the beginning or end.
static int DNS_LABEL_LENGTH_LIMIT
          // TODO complete entry for DNS_LABEL_LENGTH_LIMIT
static int DNS_LENGTH_LIMIT
          // TODO complete entry for DNS_LENGTH_LIMIT
static int DOUBLE_DASH_IN_REG_NAME
          Internal code.
static int DOUBLE_WHITESPACE
          Either two or more consecutive whitespace characters, or leading or trailing whitespace.
static int EMPTY_SCHEME
          The scheme component is empty.
static int HAS_PASSWORD
          Including passwords in URIs is deprecated.
static int ILLEGAL_CHARACTER
          The character violates the grammar rules for URIs/IRIs.
static int ILLEGAL_PERCENT_ENCODING
          The host component a percent occurred without two following hexadecimal digits.
static int IP_V4_HAS_FOUR_COMPONENTS
          A host entry is entirely numeric but does not have four components like an IP version 4 address.
static int IP_V4_OCTET_RANGE
          A host entry consists of four numbers, but they are not in the range 0-255, or have leading zeros.
static int IP_V6_OR_FUTURE_ADDRESS_SYNTAX
          A syntax violation was detected in an IP V6 (or future) address.
static int IPv6ADDRESS_SHOULD_BE_LOWERCASE
          IP version 6 addresses should use lowercase hexadecimal
static int LONE_SURROGATE
          A unicode surrogate character that is not of a surrogate pair.
static int LOWERCASE_PREFERRED
          lowercase is preferred in this component
static int MAYBE_NOT_NFC
          TODO
static int MAYBE_NOT_NFKC
          TODO
static int NON_INITIAL_DOT_SEGMENT
          The path contains a segment /../ not at the beginning of a relative reference, or it contains a /./ These should be removed.
static int NON_URI_CHARACTER
          Internal code.
static int NON_XML_CHARACTER
          The character is not legal in XML.
static int NOT_DNS_NAME
          The host component did not meet the restrictions on DNS names.
static int NOT_NFC
          The IRI is not in Unicode Normal Form C.
static int NOT_NFKC
          The IRI is not in Unicode Normal Form KC.
static int NOT_UTF8_ESCAPE
          // TODO complete entry for NOT_UTF8_ESCAPE
static int NOT_UTF8_ESCAPE_IN_HOST
          // TODO complete entry for NOT_UTF8_ESCAPE_IN_HOST
static int NOT_XML_SCHEMA_WHITESPACE
          Whitespace characters match no grammar rules of URIs/IRIs.
static int PERCENT
          Internal code.
static int PERCENT_20
          Internal code.
static int PERCENT_ENCODING_SHOULD_BE_UPPERCASE
          Percent-escape sequences should use uppercase.
static int PORT_SHOULD_NOT_BE_EMPTY
          The colon introducing an empty port component should be omitted entirely, or a port number should be specified.
static int PORT_SHOULD_NOT_BE_WELL_KNOWN
          Ports under 1024 should be accessed using the appropriate scheme name.
static int PORT_SHOULD_NOT_START_IN_ZERO
          Leading zeros in the port number should be omitted.
static int PRIVATE_USE_CHARACTER
          TODO
static int RELATIVE_URI
          The IRI is relative not absolute.
static int SCHEME_INCLUDES_DASH
          Internal code.
static int SCHEME_MUST_START_WITH_LETTER
          The scheme component must start with a letter.
static int SUPERFLUOUS_ASCII_PERCENT_ENCODING
          Percent-escape sequences should not be used unnecessarily.
static int SUPERFLUOUS_NON_ASCII_PERCENT_ENCODING
          Percent-escape sequences should not be used unnecessarily.
static int UNASSIGNED_UNICODE_CHARACTER
          TODO
static int UNDEFINED_UNICODE_CHARACTER
          TODO
static int UNICODE_CONTROL_CHARACTER
          TODO
static int UNICODE_WHITESPACE
          TODO
static int UNREGISTERED_IANA_SCHEME
          The scheme name does not have a "-" in it, but is not in the IANA registry.
static int UNREGISTERED_NONIETF_SCHEME_TREE
          The scheme name has a "-" in it, but it does not start in "x-" and the prefix is not known as the prefix of an alternative tree for URI schemes.
static int UNWISE_CHARACTER
          The character matches no grammar rules of URIs/IRIs.
static int USE_PUNYCODE_NOT_PERCENTS
          The host component used percent encoding, where punycode is preferred.
static int USES_GENERIC_SYNTAX
          // TODO complete entry for USES_GENERIC_SYNTAX
static int USES_OPAQUE_SYNTAX
          // TODO complete entry for USES_OPAQUE_SYNTAX
static int WHITESPACE
          A single whitespace character.
 

Field Detail

ILLEGAL_CHARACTER

public static final int ILLEGAL_CHARACTER
The character violates the grammar rules for URIs/IRIs.

This violates the following specifications: [URI] (see here), [IRI] (see section 2.2), [RDF], [XML], [XLink], [Schema].

This violation has MUST force.

The following are examples of IRIs that have this violation:

See Also:
Constant Field Values

RELATIVE_URI

public static final int RELATIVE_URI
The IRI is relative not absolute.

This is specified in [RDF].

see here
representing an absolute URI with optional fragment identifier

This violates the [RDF] specification.

This violation has MUST force.

The following are examples of IRIs that have this violation:

See Also:
Constant Field Values

PERCENT_ENCODING_SHOULD_BE_UPPERCASE

public static final int PERCENT_ENCODING_SHOULD_BE_UPPERCASE
Percent-escape sequences should use uppercase.

This is specified in [URI].

see section 2.1
URI producers and normalizers should use uppercase hexadecimal digits for all percent-encodings.

This violates the following specifications: [URI], [IRI], [RDF], [XML], [XLink], [Schema].

This violation relates to creating your own IRIs, rather than accepting and processing other peoples', and the behaviour of a factory implementing the relevant specs can be modified by IRIFactory.mintingViolation(boolean, boolean).

The following are examples of IRIs that have this violation:

See Also:
Constant Field Values

SUPERFLUOUS_NON_ASCII_PERCENT_ENCODING

public static final int SUPERFLUOUS_NON_ASCII_PERCENT_ENCODING
Percent-escape sequences should not be used unnecessarily.

The IRI specification only weakly suggests that Unicode characters should be used in preference to percent encodings.

This is specified in [IRI].

see section 3.2
URI-to-IRI conversion removes percent-encodings

This violates the [IRI] specification.

This violation relates to creating your own IRIs, rather than accepting and processing other peoples', and the behaviour of a factory implementing the relevant specs can be modified by IRIFactory.mintingViolation(boolean, boolean).

The following are examples of IRIs that have this violation:

Unimplemented.

See Also:
Constant Field Values

SUPERFLUOUS_ASCII_PERCENT_ENCODING

public static final int SUPERFLUOUS_ASCII_PERCENT_ENCODING
Percent-escape sequences should not be used unnecessarily.

This is specified in [URI].

see section 2.3
For consistency, percent-encoded octets in the ranges of ALPHA (%41-%5A and %61-%7A), DIGIT (%30-%39), hyphen (%2D), period (%2E), underscore (%5F), or tilde (%7E) should not be created by URI producers

This violates the following specifications: [URI], [IRI], [RDF], [XML], [XLink], [Schema].

This violation relates to creating your own IRIs, rather than accepting and processing other peoples', and the behaviour of a factory implementing the relevant specs can be modified by IRIFactory.mintingViolation(boolean, boolean).

The following are examples of IRIs that have this violation:

Unimplemented.

See Also:
Constant Field Values

UNWISE_CHARACTER

public static final int UNWISE_CHARACTER
The character matches no grammar rules of URIs/IRIs. These characters are permitted in RDF URI References, XML system identifiers, and XML Schema anyURIs.

Whitespace is dealt with separately.

This is specified in [IRI].

see here
Systems accepting IRIs MAY also deal with the printable characters in US-ASCII that are not allowed in URIs, namely "<", ">", '"', space, "{", "}", "|", "\", "^", and "`", in step 2 above. If these characters are found but are not converted, then the conversion SHOULD fail.

This violates the following specifications: [IRI], [URI] (see here).

This violation relates to creating your own IRIs, rather than accepting and processing other peoples', and the behaviour of a factory implementing the relevant specs can be modified by IRIFactory.mintingViolation(boolean, boolean).

The following are examples of IRIs that have this violation:

See Also:
IRIFactory.allowUnwiseCharacters(), WHITESPACE, DOUBLE_WHITESPACE, Constant Field Values

CONTROL_CHARACTER

public static final int CONTROL_CHARACTER
Control characters are not allowed in URIs or RDF URI References.

This is specified in [RDF].

see here
A URI reference within an RDF graph (an RDF URI reference) is a Unicode string [UNICODE] that:
  • does not contain any control characters ( #x00 - #x1F, #x7F-#x9F)

This is specified in [IRI].

see here
ucschar = %xA0-D7FF / %xF900-FDCF / %xFDF0-FFEF
        / %x10000-1FFFD / %x20000-2FFFD / %x30000-3FFFD
        / %x40000-4FFFD / %x50000-5FFFD / %x60000-6FFFD
        / %x70000-7FFFD / %x80000-8FFFD / %x90000-9FFFD
        / %xA0000-AFFFD / %xB0000-BFFFD / %xC0000-CFFFD
        / %xD0000-DFFFD / %xE1000-EFFFD

This violates the following specifications: [RDF], [IRI], [URI].

This violation has MUST force.

The following are examples of IRIs that have this violation:

See Also:
Constant Field Values

NON_XML_CHARACTER

public static final int NON_XML_CHARACTER
The character is not legal in XML.

This is specified in [XML].

see here
Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF]

This violates the following specifications: [XML], [XLink], [Schema].

This violation has MUST force.

The following are examples of IRIs that have this violation:

See Also:
Constant Field Values

DISCOURAGED_XML_CHARACTER

public static final int DISCOURAGED_XML_CHARACTER
The character is discouraged in XML documents.

This is specified in [XML].

see here
Document authors are encouraged to avoid "compatibility characters", as defined in section 6.8 of [Unicode] (see also D21 in section 3.6 of [Unicode3]). The characters defined in the following ranges are also discouraged. They are either control characters or permanently undefined Unicode characters: [#x7F-#x84], [#x86-#x9F], [#xFDD0-#xFDDF],

This violates the following specifications: [XML], [XLink], [Schema].

This violation relates to creating your own IRIs, rather than accepting and processing other peoples', and the behaviour of a factory implementing the relevant specs can be modified by IRIFactory.mintingViolation(boolean, boolean).

The following are examples of IRIs that have this violation:

See Also:
Constant Field Values

NON_INITIAL_DOT_SEGMENT

public static final int NON_INITIAL_DOT_SEGMENT
The path contains a segment /../ not at the beginning of a relative reference, or it contains a /./ These should be removed.

This is specified in [URI].

see section 6.2.2.3
The complete path segments "." and ".." are intended only for use within relative references

This violates the following specifications: [URI], [IRI], [RDF], [XML], [XLink], [Schema].

This violation relates to creating your own IRIs, rather than accepting and processing other peoples', and the behaviour of a factory implementing the relevant specs can be modified by IRIFactory.mintingViolation(boolean, boolean).

This violation may indicate security issues, and the behaviour of a factory implementing the relevant specs can be modified by IRIFactory.securityViolation(boolean, boolean).

The following are examples of IRIs that have this violation:

See Also:
Constant Field Values

EMPTY_SCHEME

public static final int EMPTY_SCHEME
The scheme component is empty.

This is specified in [URI].

see section 3.1
Scheme names consist of a sequence of characters beginning with a letter and followed by any combination of letters, digits, plus ("+"), period ("."), or hyphen ("-").

This violates the following specifications: [URI], [IRI], [RDF], [XML], [XLink], [Schema].

This violation has MUST force.

The following are examples of IRIs that have this violation:

See Also:
Constant Field Values

SCHEME_MUST_START_WITH_LETTER

public static final int SCHEME_MUST_START_WITH_LETTER
The scheme component must start with a letter.

This is specified in [URI].

see section 3.1
Scheme names consist of a sequence of characters beginning with a letter and followed by any combination of letters, digits, plus ("+"), period ("."), or hyphen ("-").

This violates the following specifications: [URI], [IRI], [RDF], [XML], [XLink], [Schema].

This violation has MUST force.

The following are examples of IRIs that have this violation:

See Also:
Constant Field Values

LOWERCASE_PREFERRED

public static final int LOWERCASE_PREFERRED
lowercase is preferred in this component

This is specified in [URI].

For the SCHEME component: see section 3.1
An implementation should accept uppercase letters as equivalent to lowercase in scheme names (e.g., allow "HTTP" as well as "http") for the sake of robustness but should only produce lowercase scheme names for consistency.
For the HOST component: see section 3.2.2
Although host is case-insensitive, producers and normalizers should use lowercase for registered names and hexadecimal addresses for the sake of uniformity, while only using uppercase letters for percent-encodings.

This violates the following specifications: [URI], [IRI], [RDF], [XML], [XLink], [Schema].

This violation relates to creating your own IRIs, rather than accepting and processing other peoples', and the behaviour of a factory implementing the relevant specs can be modified by IRIFactory.mintingViolation(boolean, boolean).

The following are examples of IRIs that have this violation:

See Also:
Constant Field Values

PORT_SHOULD_NOT_BE_EMPTY

public static final int PORT_SHOULD_NOT_BE_EMPTY
The colon introducing an empty port component should be omitted entirely, or a port number should be specified.

This is specified in [URI].

see section 3.2.2
URI producers and normalizers should omit the port component and its ":" delimiter if port is empty

This violates the following specifications: [URI], [IRI], [RDF], [XML], [XLink], [Schema].

This violation relates to creating your own IRIs, rather than accepting and processing other peoples', and the behaviour of a factory implementing the relevant specs can be modified by IRIFactory.mintingViolation(boolean, boolean).

The following are examples of IRIs that have this violation:

See Also:
Constant Field Values

DEFAULT_PORT_SHOULD_BE_OMITTED

public static final int DEFAULT_PORT_SHOULD_BE_OMITTED
If the port is the default one for the scheme it should be omitted.

This is specified in [URI].

see section 3.2.2
URI producers and normalizers should omit the port component and its ":" delimiter if port is empty or if its value would be the same as that of the scheme's default.

This violates the following specifications: [URI], [IRI], [RDF], [XML], [XLink], [Schema].

This violation relates to creating your own IRIs, rather than accepting and processing other peoples', and the behaviour of a factory implementing the relevant specs can be modified by IRIFactory.mintingViolation(boolean, boolean).

The following are examples of IRIs that have this violation:

Unimplemented.

See Also:
Constant Field Values

PORT_SHOULD_NOT_BE_WELL_KNOWN

public static final int PORT_SHOULD_NOT_BE_WELL_KNOWN
Ports under 1024 should be accessed using the appropriate scheme name.

This is specified in [URI].

see section 7.2
Applications should prevent dereference of a URI that specifies a TCP port number within the "well-known port" range (0 - 1023) unless the protocol being used to dereference that URI is compatible with the protocol expected on that well-known port.

This violates the following specifications: [URI], [IRI], [RDF], [XML], [XLink], [Schema].

This violation may indicate security issues, and the behaviour of a factory implementing the relevant specs can be modified by IRIFactory.securityViolation(boolean, boolean).

The following are examples of IRIs that have this violation:

Unimplemented.

See Also:
Constant Field Values

PORT_SHOULD_NOT_START_IN_ZERO

public static final int PORT_SHOULD_NOT_START_IN_ZERO
Leading zeros in the port number should be omitted. This is an added feature of this implementation, not mandated by any standard.

This violates the following specifications: [URI], [IRI], [RDF], [XML], [XLink], [Schema].

This violation relates to creating your own IRIs, rather than accepting and processing other peoples', and the behaviour of a factory implementing the relevant specs can be modified by IRIFactory.mintingViolation(boolean, boolean).

The following are examples of IRIs that have this violation:

See Also:
Constant Field Values

BIDI_FORMATTING_CHARACTER

public static final int BIDI_FORMATTING_CHARACTER
A prohibited bi-directional control character was found.

This is specified in [IRI].

see section 4.1
IRIs MUST NOT contain bidirectional formatting characters (LRM, RLM, LRE, RLE, LRO, RLO, and PDF).

This violates the [IRI] specification.

This violation has MUST force.

The following are examples of IRIs that have this violation:

Unimplemented.

See Also:
Constant Field Values

WHITESPACE

public static final int WHITESPACE
A single whitespace character. These match no grammar rules of URIs/IRIs. These characters are permitted in RDF URI References, XML system identifiers, and XML Schema anyURIs.

This violates the following specifications: [URI], [IRI].

This violation has MUST force.

The following are examples of IRIs that have this violation:

See Also:
IRIFactory.allowUnwiseCharacters(), NOT_XML_SCHEMA_WHITESPACE, UNWISE_CHARACTER, DOUBLE_WHITESPACE, Constant Field Values

DOUBLE_WHITESPACE

public static final int DOUBLE_WHITESPACE
Either two or more consecutive whitespace characters, or leading or trailing whitespace. These match no grammar rules of URIs/IRIs. These characters are permitted in RDF URI References, XML system identifiers, but not XML Schema anyURIs.

This violates the following specifications: [URI], [IRI], [Schema].

This violation has MUST force.

The following are examples of IRIs that have this violation:

See Also:
IRIFactory.allowUnwiseCharacters(), NOT_XML_SCHEMA_WHITESPACE, UNWISE_CHARACTER, WHITESPACE, Constant Field Values

NOT_XML_SCHEMA_WHITESPACE

public static final int NOT_XML_SCHEMA_WHITESPACE
Whitespace characters match no grammar rules of URIs/IRIs. These characters are permitted in RDF URI References, and XML system identifiers. However, tab and new line characters, and consecutive space characters cannot occur in XML Schema anyURIs.

This is specified in [Schema].

see here
<xs:simpleType name="anyURI" id="anyURI">
                    [...]
    <xs:restriction base="xs:anySimpleType">
      <xs:whiteSpace fixed="true" value="collapse" id="anyURI.whiteSpace"/>

    </xs:restriction>
</xs:simpleType>

This violates the following specifications: [URI], [IRI], [Schema].

This violation has MUST force.

The following are examples of IRIs that have this violation:

See Also:
IRIFactory.allowUnwiseCharacters(), DOUBLE_WHITESPACE, WHITESPACE, Constant Field Values

DOUBLE_DASH_IN_REG_NAME

public static final int DOUBLE_DASH_IN_REG_NAME
Internal code. This is not an error or warning condition, but is used to trigger more expensive processing.

See Also:
Constant Field Values

SCHEME_INCLUDES_DASH

public static final int SCHEME_INCLUDES_DASH
Internal code. This is not an error or warning condition, but is used to trigger more expensive processing.

See Also:
Constant Field Values

NON_URI_CHARACTER

public static final int NON_URI_CHARACTER
Internal code. This is not an error or warning condition, but is used to trigger more expensive processing.

See Also:
Constant Field Values

PERCENT_20

public static final int PERCENT_20
Internal code. This is not an error or warning condition, but is used to trigger more expensive processing.

See Also:
Constant Field Values

PERCENT

public static final int PERCENT
Internal code. This is not an error or warning condition, but is used to trigger more expensive processing.

See Also:
Constant Field Values

IP_V6_OR_FUTURE_ADDRESS_SYNTAX

public static final int IP_V6_OR_FUTURE_ADDRESS_SYNTAX
A syntax violation was detected in an IP V6 (or future) address.

This is specified in [URI].

see section 3.2.2
IP-literal  = "[" ( IPv6address / IPvFuture  ) "]"
IPvFuture   = "v" 1*HEXDIG "." 1*( unreserved / sub-delims / ":" )
IPv6address =  6( h16 ":" ) ls32
            /                       "::" 5( h16 ":" ) ls32
            / [               h16 ] "::" 4( h16 ":" ) ls32
            / [ *1( h16 ":" ) h16 ] "::" 3( h16 ":" ) ls32
            / [ *2( h16 ":" ) h16 ] "::" 2( h16 ":" ) ls32
            / [ *3( h16 ":" ) h16 ] "::"    h16 ":"   ls32
            / [ *4( h16 ":" ) h16 ] "::"              ls32
            / [ *5( h16 ":" ) h16 ] "::"              h16
            / [ *6( h16 ":" ) h16 ] "::"

ls32        = ( h16 ":" h16 ) / IPv4address
                  ; least-significant 32 bits of address
h16         = 1*4HEXDIG 
                  ; 16 bits of address represented in hexadecimal

This violates the following specifications: [URI], [IRI], [RDF], [XML], [XLink], [Schema].

This violation has MUST force.

The following are examples of IRIs that have this violation:

See Also:
Constant Field Values

IPv6ADDRESS_SHOULD_BE_LOWERCASE

public static final int IPv6ADDRESS_SHOULD_BE_LOWERCASE
IP version 6 addresses should use lowercase hexadecimal

This is specified in [URI].

see section 3.2.2
Although host is case-insensitive, producers and normalizers should use lowercase for registered names and hexadecimal addresses for the sake of uniformity

This violates the following specifications: [URI], [IRI], [RDF], [XML], [XLink], [Schema].

This violation relates to creating your own IRIs, rather than accepting and processing other peoples', and the behaviour of a factory implementing the relevant specs can be modified by IRIFactory.mintingViolation(boolean, boolean).

The following are examples of IRIs that have this violation:

See Also:
Constant Field Values

IP_V4_HAS_FOUR_COMPONENTS

public static final int IP_V4_HAS_FOUR_COMPONENTS
A host entry is entirely numeric but does not have four components like an IP version 4 address.

This is specified in [URI].

see section 3.2.2
A host identified by an IPv4 literal address is represented in dotted-decimal notation (a sequence of four decimal numbers in the range 0 to 255, separated by "."),

This violates the following specifications: [URI], [IRI], [RDF], [XML], [XLink], [Schema].

This violation has MUST force.

The following are examples of IRIs that have this violation:

See Also:
Constant Field Values

IP_V4_OCTET_RANGE

public static final int IP_V4_OCTET_RANGE
A host entry consists of four numbers, but they are not in the range 0-255, or have leading zeros.

This is specified in [URI].

see section 3.2.2
A host identified by an IPv4 literal address is represented in dotted-decimal notation (a sequence of four decimal numbers in the range 0 to 255 , separated by "."),
see section 3.2.2
dec-octet   = DIGIT                 ; 0-9
            / %x31-39 DIGIT         ; 10-99
            / "1" 2DIGIT            ; 100-199
            / "2" %x30-34 DIGIT     ; 200-249
            / "25" %x30-35          ; 250-255

This violates the following specifications: [URI], [IRI], [RDF], [XML], [XLink], [Schema].

This violation has MUST force.

The following are examples of IRIs that have this violation:

See Also:
Constant Field Values

NOT_DNS_NAME

public static final int NOT_DNS_NAME
The host component did not meet the restrictions on DNS names.

This is specified in [URI].

see section 3.2.2
URI producers should use names that conform to the DNS syntax , even when use of DNS is not immediately apparent, and should limit these names to no more than 255 characters in length.

This violates the following specifications: [URI], [IRI], [RDF], [XML], [XLink], [Schema].

This violation is relevant for IRIs using DNS as the registry of hostnames. The behaviour of a factory implementing the relevant specs can be modified by IRIFactory.dnsViolation(boolean, boolean).

This violation has MUST force.

The following are examples of IRIs that have this violation:

See Also:
Constant Field Values

USE_PUNYCODE_NOT_PERCENTS

public static final int USE_PUNYCODE_NOT_PERCENTS
The host component used percent encoding, where punycode is preferred.

This is specified in [URI].

see section 3.2.2
URI producers should provide these registered names in the IDNA encoding, rather than a percent-encoding, if they wish to maximize interoperability with legacy URI resolvers.

This violates the following specifications: [URI], [IRI], [RDF], [XML], [XLink], [Schema].

This violation relates to creating your own IRIs, rather than accepting and processing other peoples', and the behaviour of a factory implementing the relevant specs can be modified by IRIFactory.mintingViolation(boolean, boolean).

This violation is relevant for IRIs using DNS as the registry of hostnames. The behaviour of a factory implementing the relevant specs can be modified by IRIFactory.dnsViolation(boolean, boolean).

The following are examples of IRIs that have this violation:

See Also:
Constant Field Values

ILLEGAL_PERCENT_ENCODING

public static final int ILLEGAL_PERCENT_ENCODING
The host component a percent occurred without two following hexadecimal digits.

This is specified in [URI].

see section 2.1
A percent-encoded octet is encoded as a character triplet, consisting of the percent character "%" followed by the two hexadecimal digits representing that octet's numeric value.

This violates the following specifications: [URI], [IRI], [RDF], [XML], [XLink], [Schema].

This violation has MUST force.

The following are examples of IRIs that have this violation:

See Also:
Constant Field Values

ACE_PREFIX

public static final int ACE_PREFIX
Internal code. This is not an error or warning condition, but is used to trigger more expensive processing.

See Also:
Constant Field Values

LONE_SURROGATE

public static final int LONE_SURROGATE
A unicode surrogate character that is not of a surrogate pair.

This does not violate any of the supported IRI, URI or scheme specifications.

This violation has MUST force.

The following are examples of IRIs that have this violation:

See Also:
Constant Field Values

DNS_LABEL_DASH_START_OR_END

public static final int DNS_LABEL_DASH_START_OR_END
A DNS name had a - at the beginning or end.

This is specified in [URI].

see section 3.2.2
Such a name consists of a sequence of domain labels separated by ".", each domain label starting and ending with an alphanumeric character and possibly also containing "-" characters.

This violates the following specifications: [URI], [IRI], [RDF], [XML], [XLink], [Schema].

This violation is relevant for IRIs using DNS as the registry of hostnames. The behaviour of a factory implementing the relevant specs can be modified by IRIFactory.dnsViolation(boolean, boolean).

This violation has MUST force.

The following are examples of IRIs that have this violation:

See Also:
Constant Field Values

BAD_IDN_UNASSIGNED_CHARS

public static final int BAD_IDN_UNASSIGNED_CHARS
Characters used in the IRI were unassigned in the version of Unicode known by this system. They may have been assigned since.

This is specified in [URI].

see section 3.2.2
When a non-ASCII registered name represents an internationalized domain name intended for resolution via the DNS, the name must be transformed to the IDNA encoding [RFC3490] prior to name lookup. URI producers should provide these registered names in the IDNA encoding, rather than a percent-encoding, if they wish to maximize interoperability with legacy URI resolvers.

This is specified in [IRI].

see section 3.1
Replace the ireg-name part of the IRI by the part converted using the ToASCII operation specified in section 4.1 of [RFC3490] on each dot-separated label, and by using U+002E (FULL STOP) as a label separator, with the flag UseSTD3ASCIIRules set to TRUE, and with the flag AllowUnassigned set to FALSE for creating IRIs and set to TRUE otherwise.

This violates the following specifications: [URI], [IRI], [RDF], [XML], [XLink], [Schema].

This violation relates to creating your own IRIs, rather than accepting and processing other peoples', and the behaviour of a factory implementing the relevant specs can be modified by IRIFactory.mintingViolation(boolean, boolean).

The following are examples of IRIs that have this violation:

See Also:
Constant Field Values

BAD_IDN

public static final int BAD_IDN
The Internationalized Domain Name check failed (a third party library is used).

This is specified in [URI].

see section 3.2.2
When a non-ASCII registered name represents an internationalized domain name intended for resolution via the DNS, the name must be transformed to the IDNA encoding [RFC3490] prior to name lookup. URI producers should provide these registered names in the IDNA encoding, rather than a percent-encoding, if they wish to maximize interoperability with legacy URI resolvers.

This is specified in [IRI].

see section 3.1
Replace the ireg-name part of the IRI by the part converted using the ToASCII operation specified in section 4.1 of [RFC3490] on each dot-separated label, and by using U+002E (FULL STOP) as a label separator, with the flag UseSTD3ASCIIRules set to TRUE, and with the flag AllowUnassigned set to FALSE for creating IRIs and set to TRUE otherwise.

This violates the following specifications: [URI], [IRI], [RDF], [XML], [XLink], [Schema].

This violation has MUST force.

The following are examples of IRIs that have this violation:

See Also:
Constant Field Values

HAS_PASSWORD

public static final int HAS_PASSWORD
Including passwords in URIs is deprecated.

This is specified in [URI].

see section 3.2.1
Use of the format "user:password" in the userinfo field is deprecated.
see section 3.2.1
Applications may choose to ignore or reject such data when it is received as part of a reference and should reject the storage of such data in unencrypted form. The passing of authentication information in clear text has proven to be a security risk in almost every case where it has been used.

This violates the following specifications: [URI], [IRI], [RDF], [XML], [XLink], [Schema].

This violation has MUST force.

This violation may indicate security issues, and the behaviour of a factory implementing the relevant specs can be modified by IRIFactory.securityViolation(boolean, boolean).

The following are examples of IRIs that have this violation:

See Also:
Constant Field Values

DISCOURAGED_IRI_CHARACTER

public static final int DISCOURAGED_IRI_CHARACTER
Certain characters are discouraged in IRIs.

Implementation is very partial. The amount of guidance as to which characters to discourage is insufficient.

This is specified in [IRI].

see section 6.1
The UCS contains many areas of characters for which there are strong visual look-alikes. Because of the likelihood of transcription errors, these also should be avoided. This includes the full-width equivalents of Latin characters, half-width Katakana characters for Japanese, and many others. It also includes many look-alikes of "space", "delims", and "unwise", characters excluded in [RFC3491].

This violates the [IRI] specification.

This violation relates to creating your own IRIs, rather than accepting and processing other peoples', and the behaviour of a factory implementing the relevant specs can be modified by IRIFactory.mintingViolation(boolean, boolean).

The following are examples of IRIs that have this violation:

Unimplemented.

See Also:
Constant Field Values

BAD_BIDI_SUBCOMPONENT

public static final int BAD_BIDI_SUBCOMPONENT
There are restrictions on bidi characters in subcomponents of IRIs

This is specified in [IRI].

see section 4.2
  1. A component SHOULD NOT use both right-to-left and left-to-right characters.
  2. A component using right-to-left characters SHOULD start and end with right-to-left characters.

This violates the [IRI] specification.

This violation has SHOULD force. By default, this is treated as an error (for the relevant specs), but that behaviour can be modified by IRIFactory.shouldViolation(boolean, boolean).

Unimplemented.

See Also:
Constant Field Values

USES_GENERIC_SYNTAX

public static final int USES_GENERIC_SYNTAX
// TODO complete entry for USES_GENERIC_SYNTAX

See Also:
Constant Field Values

USES_OPAQUE_SYNTAX

public static final int USES_OPAQUE_SYNTAX
// TODO complete entry for USES_OPAQUE_SYNTAX

See Also:
Constant Field Values

DNS_LENGTH_LIMIT

public static final int DNS_LENGTH_LIMIT
// TODO complete entry for DNS_LENGTH_LIMIT

See Also:
Constant Field Values

DNS_LABEL_LENGTH_LIMIT

public static final int DNS_LABEL_LENGTH_LIMIT
// TODO complete entry for DNS_LABEL_LENGTH_LIMIT

See Also:
Constant Field Values

NOT_UTF8_ESCAPE

public static final int NOT_UTF8_ESCAPE
// TODO complete entry for NOT_UTF8_ESCAPE

See Also:
Constant Field Values

NOT_UTF8_ESCAPE_IN_HOST

public static final int NOT_UTF8_ESCAPE_IN_HOST
// TODO complete entry for NOT_UTF8_ESCAPE_IN_HOST

See Also:
Constant Field Values

BAD_DOT_IN_IDN

public static final int BAD_DOT_IN_IDN
// TODO complete entry for BAD_DOT_IN_IDN

See Also:
Constant Field Values

UNREGISTERED_IANA_SCHEME

public static final int UNREGISTERED_IANA_SCHEME
The scheme name does not have a "-" in it, but is not in the IANA registry. (Last updated from the registry January 2006)

This is specified in [URL_Registratrion].

see section

This is specified in [URI].

see section 3.2
The NAMES of schemes registered in the IETF tree MUST NOT contain the dash (also known as the hyphen and minus sign) character ('-') USASCII value 2Dh. Use of this character can cause confusion with schemes registered in alternative trees (see section 3.3).
see section 3.3
The syntax for alternative trees shall be as follows: each tree will be identified by a unique prefix, which must be established in the same fashion as a URL scheme name in the IETF tree, except that the prefix must be defined by a Standards Track document. Scheme names in the new tree are then constructed by prepending the prefix to an identifier unique to each scheme in that tree, as prescribed by that tree's identifying document:
      <prefix>'-'<tree-specific identifier>
For instance, the "foo" tree would allow creation of scheme names of the form: "foo-blahblah:" and "foo-bar:", where the tree prescribes an arbitrary USASCII string following the tree's unique prefix.

This violates the following specifications: [URI], [IRI], [XLink], [XML], [RDF], [Schema].

This violation has MUST force.

The following are examples of IRIs that have this violation:

Unimplemented.

See Also:
Constant Field Values

UNREGISTERED_NONIETF_SCHEME_TREE

public static final int UNREGISTERED_NONIETF_SCHEME_TREE
The scheme name has a "-" in it, but it does not start in "x-" and the prefix is not known as the prefix of an alternative tree for URI schemes.

There is no standard provision for "x-" as a prefix for private use schemes. This is a feature of this implementation. As far as I am aware, no alternative trees have been registered.

This is specified in [URL_Registratrion].

see section 3.3
The syntax for alternative trees shall be as follows: each tree will be identified by a unique prefix, which must be established in the same fashion as a URL scheme name in the IETF tree, except that the prefix must be defined by a Standards Track document. Scheme names in the new tree are then constructed by prepending the prefix to an identifier unique to each scheme in that tree, as prescribed by that tree's identifying document:
      <prefix>'-'<tree-specific identifier>
For instance, the "foo" tree would allow creation of scheme names of the form: "foo-blahblah:" and "foo-bar:", where the tree prescribes an arbitrary USASCII string following the tree's unique prefix.

This violates the following specifications: [URI], [IRI], [XLink], [XML], [RDF], [Schema].

This violation has MUST force.

The following are examples of IRIs that have this violation:

Unimplemented.

See Also:
Constant Field Values

NOT_NFC

public static final int NOT_NFC
The IRI is not in Unicode Normal Form C.

This is specified in [IRI].

see section 5.3.2.2
To avoid false negatives and problems with transcoding, IRIs SHOULD be created by using NFC.

This violates the [IRI] specification.

This violation has SHOULD force. By default, this is treated as an error (for the relevant specs), but that behaviour can be modified by IRIFactory.shouldViolation(boolean, boolean).

The following are examples of IRIs that have this violation:

Unimplemented.

See Also:
Constant Field Values

NOT_NFKC

public static final int NOT_NFKC
The IRI is not in Unicode Normal Form KC.

This is specified in [IRI].

see section 7.5
Although there may be exceptions, newly created resource names should generally be in NFKC

This violates the [IRI] specification.

This violation relates to creating your own IRIs, rather than accepting and processing other peoples', and the behaviour of a factory implementing the relevant specs can be modified by IRIFactory.mintingViolation(boolean, boolean).

The following are examples of IRIs that have this violation:

Unimplemented.

See Also:
Constant Field Values

DEPRECATED_UNICODE_CHARACTER

public static final int DEPRECATED_UNICODE_CHARACTER
TODO

This violates the following specifications: [Unicode], [IRI].

This violation has MUST force.

See Also:
Constant Field Values

UNDEFINED_UNICODE_CHARACTER

public static final int UNDEFINED_UNICODE_CHARACTER
TODO

This violates the following specifications: [Unicode], [IRI].

This violation has MUST force.

See Also:
Constant Field Values

PRIVATE_USE_CHARACTER

public static final int PRIVATE_USE_CHARACTER
TODO

This violates the following specifications: [Unicode], [IRI].

This violation has MUST force.

See Also:
Constant Field Values

UNICODE_CONTROL_CHARACTER

public static final int UNICODE_CONTROL_CHARACTER
TODO

This violates the following specifications: [Unicode], [IRI].

This violation has MUST force.

See Also:
Constant Field Values

UNASSIGNED_UNICODE_CHARACTER

public static final int UNASSIGNED_UNICODE_CHARACTER
TODO

This violates the following specifications: [Unicode], [IRI].

This violation has MUST force.

See Also:
Constant Field Values

MAYBE_NOT_NFC

public static final int MAYBE_NOT_NFC
TODO

This violates the following specifications: [Unicode], [IRI].

This violation has MUST force.

See Also:
Constant Field Values

MAYBE_NOT_NFKC

public static final int MAYBE_NOT_NFKC
TODO

This violates the following specifications: [Unicode], [IRI].

This violation has MUST force.

See Also:
Constant Field Values

UNICODE_WHITESPACE

public static final int UNICODE_WHITESPACE
TODO

This violates the following specifications: [Unicode], [IRI].

This violation has MUST force.

See Also:
Constant Field Values

COMPATIBILITY_CHARACTER

public static final int COMPATIBILITY_CHARACTER
TODO

This violates the following specifications: [Unicode], [IRI].

This violation has MUST force.

See Also:
Constant Field Values