object IXmlConvertable.ValueAs(XQuerySequenceType type, XmlNamespaceManager nsmgr) { switch (type.TypeCode) { case XmlTypeCode.AnyAtomicType: case XmlTypeCode.Notation: return this; case XmlTypeCode.String: return ToString(); case XmlTypeCode.UntypedAtomic: return new UntypedAtomic(ToString()); default: throw new InvalidCastException(); } }
object IXmlConvertable.ValueAs(XQuerySequenceType type, XmlNamespaceManager nsmgr) { switch (type.TypeCode) { case XmlTypeCode.AnyAtomicType: case XmlTypeCode.Date: return this; case XmlTypeCode.DateTime: if (IsLocal) return new DateTimeValue(S, Value.Date); else return new DateTimeValue(S, new DateTimeOffset(Value.Date, Value.Offset)); case XmlTypeCode.GYear: return ToGYear(); case XmlTypeCode.GYearMonth: return ToGYearMonth(); case XmlTypeCode.GMonth: return ToGMonth(); case XmlTypeCode.GMonthDay: return ToGMonthDay(); case XmlTypeCode.GDay: return ToGDay(); case XmlTypeCode.String: return ToString(); case XmlTypeCode.UntypedAtomic: return new UntypedAtomic(ToString()); default: throw new InvalidCastException(); } }
public object ValueAs(XQuerySequenceType type, XmlNamespaceManager nsmgr) { switch (type.TypeCode) { case XmlTypeCode.AnyAtomicType: case XmlTypeCode.Duration: return this; case XmlTypeCode.YearMonthDuration: return new YearMonthDurationValue(HighPartValue); case XmlTypeCode.DayTimeDuration: return new DayTimeDurationValue(LowPartValue); case XmlTypeCode.String: return ToString(); case XmlTypeCode.UntypedAtomic: return new UntypedAtomic(ToString()); default: throw new InvalidCastException(); } }
public bool TestNode(XmlQualifiedNameTest nameTest, XQuerySequenceType typeTest) { if (nameTest != null) { return (NodeType == XPathNodeType.Element || NodeType == XPathNodeType.Attribute) && (nameTest.IsNamespaceWildcard || nameTest.Namespace == NamespaceURI) && (nameTest.IsNameWildcard || nameTest.Name == LocalName); } else if (typeTest != null) return typeTest.Match(this); return true; }