Bloom_ChorusPlugin.BloomHtmlFileTypeHandler.SetupElementStrategies C# (CSharp) Method

SetupElementStrategies() private static method

private static SetupElementStrategies ( XmlMerger merger ) : void
merger XmlMerger
return void
        private static void SetupElementStrategies(XmlMerger merger)
        {
            merger.MergeStrategies.ElementToMergeStrategyKeyMapper = new BloomElementToStrategyKeyMapper();

            merger.MergeStrategies.SetStrategy("html", ElementStrategy.CreateSingletonElement());
            merger.MergeStrategies.SetStrategy("head", ElementStrategy.CreateSingletonElement());
            merger.MergeStrategies.SetStrategy("body", ElementStrategy.CreateSingletonElement());

            merger.MergeStrategies.SetStrategy("DataDiv", new ElementStrategy(true)
            {
                IsAtomic = false,
                OrderIsRelevant = false,
                MergePartnerFinder = new FindByKeyAttribute("id"), //yes, it's a singleton of sorts, but by the id, not the tag
            });
            merger.MergeStrategies.SetStrategy("BookDataItem", new ElementStrategy(true)
            {
                IsAtomic = true,
                OrderIsRelevant = false,
                MergePartnerFinder = new FindByMultipleKeyAttributes(new List<string>(new string[] {"data-book", "lang"}))
            });
            merger.MergeStrategies.SetStrategy("PageDiv", new ElementStrategy(true)
            {
                IsAtomic = false,
                MergePartnerFinder = new FindByKeyAttribute("id"),
                ContextDescriptorGenerator = new BloomPageContextGenerator()
            });
            merger.MergeStrategies.SetStrategy("TranslationGroup", new ElementStrategy(true)
            {
                IsAtomic = false,
                MergePartnerFinder = new FindByKeyAttributeInList("class"),
                ContextDescriptorGenerator = new BloomPageContextGenerator()
            });
            merger.MergeStrategies.SetStrategy("LangDiv", new ElementStrategy(true)
            {
                IsAtomic = true,
                MergePartnerFinder = new FindByKeyAttribute("lang"),
                ContextDescriptorGenerator = new BloomPageContextGenerator()
            });
        }