net.sf.saxon.value

## Class AnyURIValue

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

- All Implemented Interfaces:
    PullEvent, 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.CharacterIterator`

  - ### Field Summary

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

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

      `EMPTY_STRING, FALSE, SINGLE_SPACE, TRUE, unicodeString, value`

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

      `typeLabel`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AnyURIValue(CharSequence value)` Constructor
    `AnyURIValue(CharSequence value, AtomicType type)` Constructor for a user-defined subtype of anyURI

  - ### Method Summary

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

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

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

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

      `asAtomic, checkPermittedContents, getCanonicalLexicalRepresentation, getCardinality, getComponent, getItemType, getStringValue, getStringValueCS, head, isIdentical, isNaN, itemAt, iterate, process, setTypeLabel`

    - ### Methods inherited from class net.sf.saxon.om.AbstractItem

      `getLength, reduce, subsequence`

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

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

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

      `getLength`

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

      `reduce, subsequence`

- - ### Field Detail

    - #### EMPTY_URI

          public static final AnyURIValue EMPTY_URI

  - ### Constructor Detail

    - #### AnyURIValue

          public AnyURIValue(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(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 String decode(String s)

Copyright (c) 2004-2013 Saxonica Limited. All rights reserved.