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.