public static TimeSpan ParseXsdTimeSpan(string dateTimeStr)
        {
#if    PLATFORM_USE_XML_DLL
            return(XmlConvert.ToTimeSpan(dateTimeStr));
#else
            //return  ManulParseXsdTimeSpan(dateTimeStr );



            XsdDuration duration = new XsdDuration(dateTimeStr);

            return(duration.ToTimeSpan());
#endif
        }
        public static TimeSpan?ParseXsdNullableTimeSpan(string dateTimeStr)
        {
#if    PLATFORM_USE_XML_DLL
            return(String.IsNullOrEmpty(dateTimeStr) ?
                   null :
                   new TimeSpan?(XmlConvert.ToTimeSpan(dateTimeStr)));
#else
            if (String.IsNullOrEmpty(dateTimeStr))
            {
                return(null);
            }

            //return  ManulParseXsdTimeSpan(dateTimeStr );

            XsdDuration duration = new XsdDuration(dateTimeStr);

            return(duration.ToTimeSpan());
#endif
        }