net.sf.saxon.value
Class UntypedAtomicValue
java.lang.Object
net.sf.saxon.value.Value<AtomicValue>
net.sf.saxon.value.AtomicValue
net.sf.saxon.value.StringValue
net.sf.saxon.value.UntypedAtomicValue
- All Implemented Interfaces:
- PullEvent, GroundedValue<AtomicValue>, Item<AtomicValue>, ValueRepresentation<AtomicValue>, ConversionResult
public class UntypedAtomicValue
- extends StringValue
An Untyped Atomic value. This inherits from StringValue for implementation convenience, even
though an untypedAtomic value is not a String in the data model type hierarchy.
Methods inherited from class net.sf.saxon.value.StringValue |
codepointEquals, containsSurrogatePairs, contract, diagnosticDisplay, effectiveBooleanValue, equals, expand, expand, getPrimitiveStringValue, getSchemaComparable, getStringLength, getStringLength, getXPathComparable, hashCode, isIdentical, isKnownToContainNoSurrogates, isZeroLength, iterateCharacters, makeStringValue, setContainsNoSurrogates, setStringValueCS, toString |
Methods inherited from class net.sf.saxon.value.AtomicValue |
asAtomic, checkPermittedContents, getCardinality, getComponent, getItemType, getLength, getStringValue, getStringValueCS, getTypedValue, getTypeLabel, isNaN, itemAt, iterate, process, setTypeLabel, subsequence |
ZERO_LENGTH_UNTYPED
public static final UntypedAtomicValue ZERO_LENGTH_UNTYPED
UntypedAtomicValue
public UntypedAtomicValue(CharSequence value)
- Constructor
- Parameters:
value
- the String value. Null is taken as equivalent to "".
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()
- 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
compareTo
public int compareTo(AtomicValue other,
StringCollator collator,
XPathContext context)
- Compare an untypedAtomic value with another value, using a given collator to perform
any string comparisons. This works by converting the untypedAtomic value to the type
of the other operand, which is the correct behavior for operators like "=" and "!=",
but not for "eq" and "ne": in the latter case, the untypedAtomic value is converted
to a string and this method is therefore not used.
- Parameters:
other
- the value to compare this value withcollator
- the collation to be used for comparing stringscontext
- the XPath dynamic context
- Returns:
- -1 if the this value is less than the other, 0 if they are equal, +1 if this
value is greater.
- Throws:
ClassCastException
- if the value cannot be cast to the type of the other operand
Copyright (c) 2004-2011 Saxonica Limited. All rights reserved.