Class 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.

    • Field Detail

    • 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)