/// <summary>
 ///		Interpreta los datos básicos
 /// </summary>
 protected void ParseInternal(Bau.Libraries.LibMarkupLanguage.MLNode nodeML)
 {
     Id            = nodeML.Attributes[TagId].Value;
     From          = nodeML.Attributes[TagFrom].Value.GetDateTime();
     To            = nodeML.Attributes[TagTo].Value.GetDateTime();
     Delay         = TimeSpan.FromSeconds(nodeML.Attributes[TagDelay].Value.GetInt(0));
     Next          = nodeML.Attributes[TagNext].Value.GetDateTime(From ?? DateTime.Now);
     Times         = nodeML.Attributes[TagTimes].Value.GetInt(1);
     TimesExecuted = nodeML.Attributes[TagTimesExecuted].Value.GetInt(0);
 }
        /// <summary>
        ///		Obtiene los datos básicos del nodo
        /// </summary>
        protected Bau.Libraries.LibMarkupLanguage.MLNode GetMLNodeInternal(string tag)
        {
            Bau.Libraries.LibMarkupLanguage.MLNode rootML = new Bau.Libraries.LibMarkupLanguage.MLNode(tag);

            // Añade los atributos
            rootML.Attributes.Add(TagId, Id);
            rootML.Attributes.Add(TagFrom, From);
            rootML.Attributes.Add(TagTo, To);
            rootML.Attributes.Add(TagDelay, Delay.TotalSeconds);
            rootML.Attributes.Add(TagNext, Next);
            rootML.Attributes.Add(TagTimes, Times);
            rootML.Attributes.Add(TagTimesExecuted, TimesExecuted);
            // Devuelve el nodo
            return(rootML);
        }
 /// <summary>
 ///		Interpreta una instrucción
 /// </summary>
 public abstract BaseInstructionModel Parse(Bau.Libraries.LibMarkupLanguage.MLNode nodeML);