public static ISchemaType CreateInstanceByString(string newvalue)
 {
     // is it a boolean?
     if (newvalue.ToLower().CompareTo("false") == 0)
     {
         return(new SchemaBoolean(false));
     }
     if (newvalue.ToLower().CompareTo("true") == 0)
     {
         return(new SchemaBoolean(true));
     }
     // is it a kind of dateTime value?
     try
     {
         SchemaDateTime result = new SchemaDateTime(newvalue);
         return(result);
     }
     catch (StringParseException) {}
     try
     {
         SchemaDuration result = new SchemaDuration(newvalue);
         return(result);
     }
     catch (StringParseException) {}
     try
     {
         SchemaDate result = new SchemaDate(newvalue);
         return(result);
     }
     catch (StringParseException) {}
     try
     {
         SchemaTime result = new SchemaTime(newvalue);
         return(result);
     }
     catch (StringParseException) {}
     // is it a numeric value
     try
     {
         decimal tmp = Convert.ToDecimal(newvalue, CultureInfo.InvariantCulture);
         if (newvalue.IndexOf(".") < 0)
         {
             if (tmp <= Int32.MaxValue && tmp >= Int32.MinValue)
             {
                 return(new SchemaInt((int)tmp));
             }
             return(new SchemaLong((long)tmp));
         }
         else
         {
             return(new SchemaDecimal(tmp));
         }
     }
     catch (FormatException)
     {
         // non of all - use string
         return(new SchemaString(newvalue));
     }
 }
 public void ReplacebeginTimeLimitAt(SchemaDateTime newValue, int index)
 {
     ReplaceDomChildAt(NodeType.Attribute, "", "beginTimeLimit", index, newValue.ToString());
 }
 public void AddbeginTimeLimit(SchemaDateTime newValue)
 {
     AppendDomChild(NodeType.Attribute, "", "beginTimeLimit", newValue.ToString());
 }
 public void InsertendTimeLimitAt(SchemaDateTime newValue, int index)
 {
     InsertDomChildAt(NodeType.Attribute, "", "endTimeLimit", index, newValue.ToString());
 }