private static void LoadMinifiers(XElement xe, string elementName, IDictionary<string, MinifierInfo> map) { foreach (var childXe in xe.ChildrenOfChild(elementName, SchemaConstants.Namespace)) { var name = childXe.Attr<string>(SchemaConstants.Minifier.Name); if (map.ContainsKey(name)) throw new XmlSchemaException(string.Format(CultureInfo.InvariantCulture, "Minifier {0} already exists", name)); var typeName = childXe.Attr<string>(SchemaConstants.Minifier.Type); var type = ModelUtils.LoadType("Minifier", typeName, SchemaConstants.Minifier.ValidTypes); var minifier = new MinifierInfo { Name = name, Type = type, Parameters = childXe.Elements(XName.Get(SchemaConstants.Param.Root, SchemaConstants.Namespace)).ToList(), BinderType = GetBinderType(childXe), }; map.Add(name, minifier); } }
private void LoadCacheVaryProvider(XElement xe) { var providerInfoList = new List<CacheVaryProviderInfo>(); foreach (var child in xe.ChildrenOfChild(SchemaConstants.Setting.CacheVaryProviders, SchemaConstants.Namespace)) { var typeName = child.Attr<string>(SchemaConstants.CacheVaryProvider.Type); var type = ModelUtils.LoadType("CacheVaryProvider", typeName, SchemaConstants.CacheVaryProvider.ValidTypes); var acceptedResourceSets = child.Attr<string>(SchemaConstants.CacheVaryProvider.AcceptedResourceSets); var setNameList = acceptedResourceSets == null ? null : acceptedResourceSets.Trim(';', ' ').Split(';').ToList(); var provider = new CacheVaryProviderInfo { Type = type, Parameters = child.Elements(XName.Get(SchemaConstants.Param.Root, SchemaConstants.Namespace)).ToList(), BinderType = GetBinderType(child), ResourceSetNames = setNameList }; providerInfoList.Add(provider); } CacheVaryProviderInfoList = providerInfoList.AsReadOnly(); }