/main/Shared/WiXAutomationInteface/IsWiXNamespaces.cs
# · C# · 61 lines · 55 code · 6 blank · 0 comment · 1 complexity · 34baee6ec6e5b7efa2fd883094a3b12b MD5 · raw file
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Xml.Linq;
-
- namespace IsWiXAutomationInterface
- {
- public class WiXNamespaces : Dictionary< string, string >
- {
- XDocument _document;
-
- public WiXNamespaces(XDocument Document)
- {
- _document = Document;
- Load();
- }
-
- public void Load()
- {
- foreach (var item in this.PossibleNamespaces)
- {
- if (_document.NameSpaces().Keys.Contains(item.Key))
- {
- base.Add(item.Key, item.Value);
- }
- }
- }
-
- public new void Add(string key, string uri)
- {
- base.Add(key, uri);
- _document.Root.Add(new XAttribute(XNamespace.Xmlns + key, uri));
- }
-
- public new void Remove(string key)
- {
- base.Remove(key);
- _document.Root.Attribute(XNamespace.Xmlns + key).Remove();
- }
-
- public Dictionary<string, string> PossibleNamespaces
- {
- get
- {
- var _extensions = new Dictionary<string, string>();
- _extensions.Add("complus", "http://schemas.microsoft.com/wix/ComPlusExtension");
- _extensions.Add("difxapp", "http://schemas.microsoft.com/wix/DifxAppExtension");
- _extensions.Add("firewall", "http://schemas.microsoft.com/wix/FirewallExtension");
- _extensions.Add("gaming", "http://schemas.microsoft.com/wix/GamingExtension");
- _extensions.Add("iis", "http://schemas.microsoft.com/wix/IIsExtension");
- _extensions.Add("msmq", "http://schemas.microsoft.com/wix/MsmqExtension");
- _extensions.Add("netfx", "http://schemas.microsoft.com/wix/NetFxExtension");
- _extensions.Add("ps", "http://schemas.microsoft.com/wix/PSExtension");
- _extensions.Add("sql", "http://schemas.microsoft.com/wix/SqlExtension");
- _extensions.Add("util", "http://schemas.microsoft.com/wix/UtilExtension");
- _extensions.Add("vs", "http://schemas.microsoft.com/wix/VSExtension");
- return _extensions;
- }
- }
- }
- }