/// <summary> /// Create a new instance of the <see cref="XmlMappingEngine" /> class. /// </summary> /// <param name="factory">Factory to use.s</param> public XmlMappingEngine(IXmlMapperFactory factory) { this.factory = factory; xmlTypes = new ConcurrentDictionary <Tuple <string, string>, Type>(); XmlNamespaceManager = new XmlNamespaceManager(new NameTable()); NamespaceManager = new BaseNamespaceManager(XmlNamespaceManager); // Always register value that allows us to declare XML types. RegisterNamespace(XsiPrefix, XsiNamespace); }
/// <summary> /// Initialize the internal namespace/xpath managers. /// </summary> /// <param name="navigator"></param> protected virtual void InitializeManagers(XPathNavigator navigator) { Navigator = navigator; XmlNamespaceManager = new XmlNamespaceManager(Navigator.NameTable); // TODO: Any easy way of inject this one?? NamespaceManager = new BaseNamespaceManager(XmlNamespaceManager); if (XPathManager == null) { XPathManager = new XPathManager(NamespaceManager); } }