PhoenixmlDb.Core
XsTypedInteger
Tags an integer-typed atomic value with its declared XSD type name so instance of can distinguish between e.g. xs:long, xs:nonNegativeInteger, xs:positiveInteger, etc. Without this wrapper, all integer subtypes collapse to CLR long, so xs:long(1) instance of xs:nonNegativeInteger incorrectly returns true (the value fits in range, but the declared types are siblings under xs:integer, not parent/child).
#XsTypedInteger
Namespace: PhoenixmlDb.Xdm
Tags an integer-typed atomic value with its declared XSD type name so instance of can distinguish between e.g. xs:long, xs:nonNegativeInteger, xs:positiveInteger, etc. Without this wrapper, all integer subtypes collapse to CLR long, so xs:long(1) instance of xs:nonNegativeInteger incorrectly returns true (the value fits in range, but the declared types are siblings under xs:integer, not parent/child).
XSD integer subtype hierarchy: xs:integer xs:nonPositiveInteger → xs:negativeInteger xs:long → xs:int → xs:short → xs:byte xs:nonNegativeInteger → { xs:positiveInteger, xs:unsignedLong → xs:unsignedInt → xs:unsignedShort → xs:unsignedByte } Mirrors ; same usage pattern (constructors return the wrapper, downstream operators unwrap to the CLR long for arithmetic and re-wrap when re-tagging is required).
#Constructors
##ctor(Int64,String)
Tags an integer-typed atomic value with its declared XSD type name so instance of can distinguish between e.g. xs:long, xs:nonNegativeInteger, xs:positiveInteger, etc. Without this wrapper, all integer subtypes collapse to CLR long, so xs:long(1) instance of xs:nonNegativeInteger incorrectly returns true (the value fits in range, but the declared types are siblings under xs:integer, not parent/child).
XSD integer subtype hierarchy: xs:integer xs:nonPositiveInteger → xs:negativeInteger xs:long → xs:int → xs:short → xs:byte xs:nonNegativeInteger → { xs:positiveInteger, xs:unsignedLong → xs:unsignedInt → xs:unsignedShort → xs:unsignedByte } Mirrors ; same usage pattern (constructors return the wrapper, downstream operators unwrap to the CLR long for arithmetic and re-wrap when re-tagging is required).
#Methods
#IsSubtypeOf(String)
True when this value's tagged type is the same as or derived from it by restriction in the XSD integer hierarchy.