private void ParseMediaType(XmlNode configNode, XmlNode defaultNode)
        {
            Assert.ArgumentNotNull(configNode, "configNode");
            string attribute = XmlUtil.GetAttribute("extensions", configNode);

            if (attribute.Length != 0)
            {
                string[] extensions = StringUtil.Split(attribute, ',', true);
                lock (_mediaTypes.SyncRoot)
                {
                    foreach (string ext in extensions)
                    {
                        if (_mediaTypes.Keys.Contains(ext))
                        {
                            FillConfiguration(_mediaTypes[ext], configNode, defaultNode);
                        }
                        else
                        {
                            MediaTypeConfig config = new MediaTypeConfig(XmlUtil.GetAttribute("name", configNode, attribute), attribute);
                            FillConfiguration(config, configNode, defaultNode);
                            _mediaTypes[ext] = config;
                        }
                    }
                }
            }
        }
        private string GetMimeTypeFromConfig(string extension)
        {
            MediaTypeConfig mediaTypeConfig = GetMediaTypeInfoConfig(extension);

            if (mediaTypeConfig == null)
            {
                return(null);
            }
            return(mediaTypeConfig.MimeType);
        }
        public string GetTemplate(string extension, bool versioned)
        {
            Assert.ArgumentNotNull(extension, "extension");
            MediaTypeConfig mediaTypeConfig = GetMediaTypeInfoConfig(extension);

            if (mediaTypeConfig == null)
            {
                return(null);
            }
            if (!versioned)
            {
                return(mediaTypeConfig.SharedTemplate);
            }
            return(mediaTypeConfig.VersionedTemplate);
        }
 private void FillConfiguration(MediaTypeConfig config, XmlNode configNode, XmlNode defaultNode)
 {
     config.MimeType          = GetChildValue("mimeType", configNode, defaultNode, config.MimeType);
     config.SharedTemplate    = GetChildValue("sharedTemplate", configNode, defaultNode, config.SharedTemplate);
     config.VersionedTemplate = GetChildValue("versionedTemplate", configNode, defaultNode, config.VersionedTemplate);
 }