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
-
-
Field Summary
Fields Modifier and Type Field Description static AnyURIValue
EMPTY_URI
-
Fields inherited from class net.sf.saxon.value.StringValue
content, EMPTY_STRING, FALSE, SINGLE_SPACE, TRUE, ZERO_LENGTH_UNTYPED
-
Fields inherited from class net.sf.saxon.value.AtomicValue
typeLabel
-
-
Constructor Summary
Constructors Constructor Description AnyURIValue(java.lang.String value)
AnyURIValue(UnicodeString value)
ConstructorAnyURIValue(UnicodeString 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 StringValue
convertToString()
AnyURIValue
copyAsSubType(AtomicType typeLabel)
Create a copy of this atomic value, with a different type labelstatic 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
bmp, codePoints, effectiveBooleanValue, equals, getCodepointCollationKey, getContent, getPrimitiveStringValue, getUnicodeStringValue, getXPathComparable, getXPathMatchKey, hashCode, isEmpty, isIdentical, iterateCharacters, length, length32, makeStringValue, makeUntypedAtomic, makeUStringValue, toShortString, toString
-
Methods inherited from class net.sf.saxon.value.AtomicValue
asAtomic, asMapKey, atomize, checkPermittedContents, checkValidInJavascript, getCanonicalLexicalRepresentation, getCardinality, getComponent, getGenre, getItemType, getLength, getUType, head, identityHashCode, isIdentical, isNaN, isUntypedAtomic, itemAt, iterate, iterator, setTypeLabel, show
-
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
getStringValue, isStreamed, reduce, subsequence
-
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(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(java.lang.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 Detail
-
copyAsSubType
public AnyURIValue copyAsSubType(AtomicType typeLabel)
Create a copy of this atomic value, with a different type label- Overrides:
copyAsSubType
in classStringValue
- 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 classStringValue
- Returns:
- the primitive type
-
decode
public static java.lang.String decode(java.lang.String s)
-
-