Package net.sf.saxon.value

## Class AnyURIValue

- java.lang.Object
- - net.sf.saxon.value.AtomicValue
  - - net.sf.saxon.value.StringValue
    - - net.sf.saxon.value.AnyURIValue

- All Implemented Interfaces:
    `java.lang.Iterable<AtomicValue>`, `AtomicSequence`, `GroundedValue`, `IdentityComparable`, `Item`, `Sequence`, `ConversionResult`

      public final class AnyURIValue
      extends StringValue

  An XPath value of type xs:anyURI.

  This is implemented as a subtype of StringValue even though xs:anyURI is not a subtype of xs:string in the XPath type hierarchy. This enables type promotion from URI to String to happen automatically in most cases where it is appropriate.

  This implementation of xs:anyURI allows any string to be contained in the value space. To check that the URI is valid according to some set of syntax rules, the caller should invoke a `StandardURIChecker` before constructing the AnyURIValue.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class net.sf.saxon.value.StringValue

      `StringValue.Builder, StringValue.CharacterIterator, StringValue.UnicodeCharacterIterator`

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static AnyURIValue` | `EMPTY_URI` |

    - ### Fields inherited from class net.sf.saxon.value.StringValue

      `EMPTY_STRING, FALSE, SINGLE_SPACE, TRUE, value`

    - ### Fields inherited from class net.sf.saxon.value.AtomicValue

      `typeLabel`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `AnyURIValue​(java.lang.CharSequence value)` | Constructor
    `AnyURIValue​(java.lang.CharSequence value, AtomicType type)` | Constructor for a user-defined subtype of anyURI

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `AtomicValue` | `copyAsSubType​(AtomicType typeLabel)` | Create a copy of this atomic value, with a different type label
    `static java.lang.String` | `decode​(java.lang.String s)` |
    `BuiltInAtomicType` | `getPrimitiveType()` | Determine the primitive type of the value.

    - ### Methods inherited from class net.sf.saxon.value.StringValue

      `codepointEquals, containsSurrogatePairs, contract, diagnosticDisplay, effectiveBooleanValue, equals, expand, getPrimitiveStringValue, getSchemaComparable, getStringLength, getStringLength, getStringLengthUpperBound, getUnicodeString, getXPathComparable, hashCode, isEmpty, isIdentical, isKnownToContainNoSurrogates, isZeroLength, iterateCharacters, makeStringValue, setContainsNoSurrogates, setStringValueCS, toShortString, toString`

    - ### Methods inherited from class net.sf.saxon.value.AtomicValue

      `asAtomic, asMapKey, atomize, checkPermittedContents, checkValidInJavascript, getCanonicalLexicalRepresentation, getCardinality, getComponent, getGenre, getItemType, getLength, getStringValue, getStringValueCS, getUType, head, identityHashCode, isIdentical, isNaN, itemAt, iterate, iterator, setTypeLabel`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface net.sf.saxon.om.GroundedValue

      `asIterable, concatenate, containsNode, materialize`

    - ### Methods inherited from interface net.sf.saxon.om.Item

      `isStreamed, reduce, subsequence`

    - ### Methods inherited from interface java.lang.Iterable

      `forEach, spliterator`

    - ### Methods inherited from interface net.sf.saxon.om.Sequence

      `makeRepeatable`

- - ### Field Detail

    - #### EMPTY_URI

          public static final AnyURIValue EMPTY_URI

  - ### Constructor Detail

    - #### AnyURIValue

          public AnyURIValue​(java.lang.CharSequence value)

      Constructor
      Parameters:
        `value` - the String value. Null is taken as equivalent to "". This constructor does not check that the value is a valid anyURI instance. It does however perform whitespace normalization.

    - #### AnyURIValue

          public AnyURIValue​(java.lang.CharSequence value,
                             AtomicType type)

      Constructor for a user-defined subtype of anyURI
      Parameters:
        `value` - the String value. Null is taken as equivalent to "".
        `type` - a user-defined subtype of anyURI. It is the caller's responsibility to ensure that this is actually a subtype of anyURI, and that the value conforms to the definition of this type.

  - ### Method Detail

    - #### copyAsSubType

          public AtomicValue copyAsSubType​(AtomicType typeLabel)

      Create a copy of this atomic value, with a different type label
      Overrides:
        `copyAsSubType` in class `StringValue`
      Parameters:
        `typeLabel` - the type label of the new copy. The caller is responsible for checking that the value actually conforms to this type.
      Returns:
        the copied value

    - #### getPrimitiveType

          public BuiltInAtomicType getPrimitiveType()

      Description copied from class: `StringValue`
      Determine the primitive type of the value. This delivers the same answer as getItemType().getPrimitiveItemType(). The primitive types are the 19 primitive types of XML Schema, plus xs:integer, xs:dayTimeDuration and xs:yearMonthDuration, and xs:untypedAtomic. For external objects, the result is AnyAtomicType.
      Overrides:
        `getPrimitiveType` in class `StringValue`
      Returns:
        the primitive type

    - #### decode

          public static java.lang.String decode​(java.lang.String s)