/// <summary> /// Renders entry definition to string format /// </summary> /// <param name="format">The format.</param> /// <returns></returns> public String ToString(syntaxFormat format = syntaxFormat.notSet) { if (format == syntaxFormat.notSet) { format = mainFormat; } StringBuilder sb = new StringBuilder(); String formatLine = GetPairFormat(format); if (format == syntaxFormat.cssFileFormat) { sb.AppendLine(name + " {"); } foreach (var pair in parameters) { sb.AppendFormat(formatLine, pair.Key, pair.Value); if (format != syntaxFormat.htmlStyleFormatInline) { sb.Append(Environment.NewLine); } } sb.AppendLine("}"); return(sb.ToString()); }
/// <summary> /// Gets the pair format. /// </summary> /// <param name="format">The format.</param> /// <returns></returns> public static String GetPairFormat(syntaxFormat format) { switch (format) { default: case syntaxFormat.htmlStyleFormatInline: case syntaxFormat.htmlStyleFormat: return("{0}:{1};"); case syntaxFormat.cssFileFormat: return(" {0}: {1};"); break; } }
/// <summary> /// Gets the pair regex. /// </summary> /// <param name="format">The format.</param> /// <returns></returns> public static Regex GetPairRegex(syntaxFormat format) { switch (format) { default: case syntaxFormat.cssFileFormat: return(REGEX_CSSATTRIBUTE); break; case syntaxFormat.htmlStyleFormat: return(REGEX_HTMLSTYLE); break; } }
/// <summary> /// Populates parameters from inline string values, given in <see cref="syntaxFormat"/> /// </summary> /// <param name="input">The input.</param> /// <param name="format">The format.</param> public void fromString(String input, syntaxFormat format = syntaxFormat.notSet) { if (format == syntaxFormat.notSet) { format = mainFormat; } var rx = GetPairRegex(format); MatchCollection mch = rx.Matches(input); foreach (Match m in mch) { if (m.Success) { Set(m.Groups[1].Value, m.Groups[2].Value); } } }
/// <summary> /// Initializes a new instance of the <see cref="cssEntryDefinition"/> class. /// </summary> /// <param name="format">The format.</param> public cssEntryDefinition(syntaxFormat format) { mainFormat = format; }