コード例 #1
0
        // 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);
        }
コード例 #2
0
        /// <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);
        }