Example #1
0
        internal BufferingXmlReader(XmlReader reader, Uri parentXmlBaseUri, Uri documentBaseUri, bool disableXmlBase, int maxInnerErrorDepth, string odataNamespace)
        {
            this.reader             = reader;
            this.documentBaseUri    = documentBaseUri;
            this.disableXmlBase     = disableXmlBase;
            this.maxInnerErrorDepth = maxInnerErrorDepth;
            XmlNameTable nameTable = this.reader.NameTable;

            this.XmlNamespace           = nameTable.Add("http://www.w3.org/XML/1998/namespace");
            this.XmlBaseAttributeName   = nameTable.Add("base");
            this.XmlLangAttributeName   = nameTable.Add("lang");
            this.ODataMetadataNamespace = nameTable.Add("http://schemas.microsoft.com/ado/2007/08/dataservices/metadata");
            this.ODataNamespace         = nameTable.Add(odataNamespace);
            this.ODataErrorElementName  = nameTable.Add("error");
            this.bufferedNodes          = new LinkedList <BufferedNode>();
            this.currentBufferedNode    = null;
            this.endOfInputBufferedNode = BufferedNode.CreateEndOfInput(this.reader.NameTable);
            this.xmlBaseStack           = new Stack <XmlBaseDefinition>();
            if (parentXmlBaseUri != null)
            {
                this.xmlBaseStack.Push(new XmlBaseDefinition(parentXmlBaseUri, 0));
            }
        }