Class AnyURIValue

All Implemented Interfaces:
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.

  • Field Details

    • EMPTY_URI

      public static final AnyURIValue EMPTY_URI
  • Constructor Details

    • AnyURIValue

      public AnyURIValue(UnicodeString 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(String value)
    • AnyURIValue

      public AnyURIValue(UnicodeString 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 Details

    • copyAsSubType

      public AnyURIValue 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
    • convertToString

      public StringValue convertToString()
    • 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)