Exemplo n.º 1
0
 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();
     }
 }
Exemplo n.º 2
0
        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();
            }
        }
Exemplo n.º 3
0
        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();
            }
        }
Exemplo n.º 4
0
 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;
 }