// Token: 0x06006382 RID: 25474 RVA: 0x001BFF98 File Offset: 0x001BE198 private XmlCompatibilityReader SetupReader(IDictionary <Uri, IList <Uri> > knownNamespaces) { IList <string> list = new List <string>(); foreach (Uri uri in XmlStreamStore._predefinedNamespaces.Keys) { list.Add(uri.ToString()); } if (knownNamespaces != null) { foreach (Uri uri2 in knownNamespaces.Keys) { list.Add(uri2.ToString()); } } XmlCompatibilityReader xmlCompatibilityReader = new XmlCompatibilityReader(new XmlTextReader(this._stream), new IsXmlNamespaceSupportedCallback(this.IsXmlNamespaceSupported), list); if (knownNamespaces != null) { foreach (KeyValuePair <Uri, IList <Uri> > keyValuePair in knownNamespaces) { if (keyValuePair.Value != null) { foreach (Uri uri3 in keyValuePair.Value) { xmlCompatibilityReader.DeclareNamespaceCompatibility(keyValuePair.Key.ToString(), uri3.ToString()); } } } } this._ignoredNamespaces.Clear(); return(xmlCompatibilityReader); }
/// <summary> /// Creates and initializes the XmlCompatibilityReader /// </summary> /// <param name="knownNamespaces">Dictionary of external known namespaces</param> /// <returns>The XmlCompatibilityReader</returns> private XmlCompatibilityReader SetupReader(IDictionary <Uri, IList <Uri> > knownNamespaces) { IList <string> supportedNamespaces = new List <string>(); //add AnnotationFramework namespaces foreach (Uri name in _predefinedNamespaces.Keys) { supportedNamespaces.Add(name.ToString()); } //add external namespaces if (knownNamespaces != null) { foreach (Uri knownNamespace in knownNamespaces.Keys) { Debug.Assert(knownNamespace != null, "null knownNamespace"); supportedNamespaces.Add(knownNamespace.ToString()); } } //create XmlCompatibilityReader first XmlCompatibilityReader reader = new XmlCompatibilityReader(new XmlTextReader(_stream), new IsXmlNamespaceSupportedCallback(IsXmlNamespaceSupported), supportedNamespaces); // Declare compatibility. // Skip the Framework ones because they are all null in this version if (knownNamespaces != null) { foreach (KeyValuePair <Uri, IList <Uri> > item in knownNamespaces) { if (item.Value != null) { foreach (Uri name in item.Value) { Debug.Assert(name != null, "null compatible namespace"); reader.DeclareNamespaceCompatibility(item.Key.ToString(), name.ToString()); } //foreach } //if } //foreach } //if //cleanup the _ignoredNamespaces _ignoredNamespaces.Clear(); return(reader); }