Esempio n. 1
0
 private void Initialize()
 {
     this.nameTable                 = null;
     this.xmlResolver               = this.CreateDefaultResolver();
     this.lineNumberOffset          = 0;
     this.linePositionOffset        = 0;
     this.checkCharacters           = true;
     this.conformanceLevel          = System.Xml.ConformanceLevel.Document;
     this.ignoreWhitespace          = false;
     this.ignorePIs                 = false;
     this.ignoreComments            = false;
     this.dtdProcessing             = System.Xml.DtdProcessing.Prohibit;
     this.closeInput                = false;
     this.maxCharactersFromEntities = 0L;
     this.maxCharactersInDocument   = 0L;
     this.schemas          = null;
     this.validationType   = System.Xml.ValidationType.None;
     this.validationFlags  = XmlSchemaValidationFlags.ProcessIdentityConstraints;
     this.validationFlags |= XmlSchemaValidationFlags.AllowXmlAttributes;
     this.isReadOnly       = false;
 }
 internal XmlReader AddConformanceWrapper(XmlReader baseReader)
 {
     XmlReaderSettings settings = baseReader.Settings;
     bool checkCharacters = false;
     bool ignoreWhitespace = false;
     bool ignoreComments = false;
     bool ignorePis = false;
     System.Xml.DtdProcessing dtdProcessing = ~System.Xml.DtdProcessing.Prohibit;
     bool flag5 = false;
     if (settings == null)
     {
         if ((this.conformanceLevel != System.Xml.ConformanceLevel.Auto) && (this.conformanceLevel != XmlReader.GetV1ConformanceLevel(baseReader)))
         {
             throw new InvalidOperationException(Res.GetString("Xml_IncompatibleConformanceLevel", new object[] { this.conformanceLevel.ToString() }));
         }
         XmlTextReader reader = baseReader as XmlTextReader;
         if (reader == null)
         {
             XmlValidatingReader reader2 = baseReader as XmlValidatingReader;
             if (reader2 != null)
             {
                 reader = (XmlTextReader) reader2.Reader;
             }
         }
         if (this.ignoreWhitespace)
         {
             WhitespaceHandling all = WhitespaceHandling.All;
             if (reader != null)
             {
                 all = reader.WhitespaceHandling;
             }
             if (all == WhitespaceHandling.All)
             {
                 ignoreWhitespace = true;
                 flag5 = true;
             }
         }
         if (this.ignoreComments)
         {
             ignoreComments = true;
             flag5 = true;
         }
         if (this.ignorePIs)
         {
             ignorePis = true;
             flag5 = true;
         }
         System.Xml.DtdProcessing parse = System.Xml.DtdProcessing.Parse;
         if (reader != null)
         {
             parse = reader.DtdProcessing;
         }
         if (((this.dtdProcessing == System.Xml.DtdProcessing.Prohibit) && (parse != System.Xml.DtdProcessing.Prohibit)) || ((this.dtdProcessing == System.Xml.DtdProcessing.Ignore) && (parse == System.Xml.DtdProcessing.Parse)))
         {
             dtdProcessing = this.dtdProcessing;
             flag5 = true;
         }
     }
     else
     {
         if ((this.conformanceLevel != settings.ConformanceLevel) && (this.conformanceLevel != System.Xml.ConformanceLevel.Auto))
         {
             throw new InvalidOperationException(Res.GetString("Xml_IncompatibleConformanceLevel", new object[] { this.conformanceLevel.ToString() }));
         }
         if (this.checkCharacters && !settings.CheckCharacters)
         {
             checkCharacters = true;
             flag5 = true;
         }
         if (this.ignoreWhitespace && !settings.IgnoreWhitespace)
         {
             ignoreWhitespace = true;
             flag5 = true;
         }
         if (this.ignoreComments && !settings.IgnoreComments)
         {
             ignoreComments = true;
             flag5 = true;
         }
         if (this.ignorePIs && !settings.IgnoreProcessingInstructions)
         {
             ignorePis = true;
             flag5 = true;
         }
         if (((this.dtdProcessing == System.Xml.DtdProcessing.Prohibit) && (settings.DtdProcessing != System.Xml.DtdProcessing.Prohibit)) || ((this.dtdProcessing == System.Xml.DtdProcessing.Ignore) && (settings.DtdProcessing == System.Xml.DtdProcessing.Parse)))
         {
             dtdProcessing = this.dtdProcessing;
             flag5 = true;
         }
     }
     if (!flag5)
     {
         return baseReader;
     }
     IXmlNamespaceResolver readerAsNSResolver = baseReader as IXmlNamespaceResolver;
     if (readerAsNSResolver != null)
     {
         return new XmlCharCheckingReaderWithNS(baseReader, readerAsNSResolver, checkCharacters, ignoreWhitespace, ignoreComments, ignorePis, dtdProcessing);
     }
     return new XmlCharCheckingReader(baseReader, checkCharacters, ignoreWhitespace, ignoreComments, ignorePis, dtdProcessing);
 }
 private void Initialize()
 {
     this.nameTable = null;
     this.xmlResolver = this.CreateDefaultResolver();
     this.lineNumberOffset = 0;
     this.linePositionOffset = 0;
     this.checkCharacters = true;
     this.conformanceLevel = System.Xml.ConformanceLevel.Document;
     this.ignoreWhitespace = false;
     this.ignorePIs = false;
     this.ignoreComments = false;
     this.dtdProcessing = System.Xml.DtdProcessing.Prohibit;
     this.closeInput = false;
     this.maxCharactersFromEntities = 0L;
     this.maxCharactersInDocument = 0L;
     this.schemas = null;
     this.validationType = System.Xml.ValidationType.None;
     this.validationFlags = XmlSchemaValidationFlags.ProcessIdentityConstraints;
     this.validationFlags |= XmlSchemaValidationFlags.AllowXmlAttributes;
     this.isReadOnly = false;
 }
Esempio n. 4
0
        internal XmlReader AddConformanceWrapper(XmlReader baseReader)
        {
            XmlReaderSettings settings = baseReader.Settings;
            bool checkCharacters       = false;
            bool ignoreWhitespace      = false;
            bool ignoreComments        = false;
            bool ignorePis             = false;

            System.Xml.DtdProcessing dtdProcessing = ~System.Xml.DtdProcessing.Prohibit;
            bool flag5 = false;

            if (settings == null)
            {
                if ((this.conformanceLevel != System.Xml.ConformanceLevel.Auto) && (this.conformanceLevel != XmlReader.GetV1ConformanceLevel(baseReader)))
                {
                    throw new InvalidOperationException(Res.GetString("Xml_IncompatibleConformanceLevel", new object[] { this.conformanceLevel.ToString() }));
                }
                XmlTextReader reader = baseReader as XmlTextReader;
                if (reader == null)
                {
                    XmlValidatingReader reader2 = baseReader as XmlValidatingReader;
                    if (reader2 != null)
                    {
                        reader = (XmlTextReader)reader2.Reader;
                    }
                }
                if (this.ignoreWhitespace)
                {
                    WhitespaceHandling all = WhitespaceHandling.All;
                    if (reader != null)
                    {
                        all = reader.WhitespaceHandling;
                    }
                    if (all == WhitespaceHandling.All)
                    {
                        ignoreWhitespace = true;
                        flag5            = true;
                    }
                }
                if (this.ignoreComments)
                {
                    ignoreComments = true;
                    flag5          = true;
                }
                if (this.ignorePIs)
                {
                    ignorePis = true;
                    flag5     = true;
                }
                System.Xml.DtdProcessing parse = System.Xml.DtdProcessing.Parse;
                if (reader != null)
                {
                    parse = reader.DtdProcessing;
                }
                if (((this.dtdProcessing == System.Xml.DtdProcessing.Prohibit) && (parse != System.Xml.DtdProcessing.Prohibit)) || ((this.dtdProcessing == System.Xml.DtdProcessing.Ignore) && (parse == System.Xml.DtdProcessing.Parse)))
                {
                    dtdProcessing = this.dtdProcessing;
                    flag5         = true;
                }
            }
            else
            {
                if ((this.conformanceLevel != settings.ConformanceLevel) && (this.conformanceLevel != System.Xml.ConformanceLevel.Auto))
                {
                    throw new InvalidOperationException(Res.GetString("Xml_IncompatibleConformanceLevel", new object[] { this.conformanceLevel.ToString() }));
                }
                if (this.checkCharacters && !settings.CheckCharacters)
                {
                    checkCharacters = true;
                    flag5           = true;
                }
                if (this.ignoreWhitespace && !settings.IgnoreWhitespace)
                {
                    ignoreWhitespace = true;
                    flag5            = true;
                }
                if (this.ignoreComments && !settings.IgnoreComments)
                {
                    ignoreComments = true;
                    flag5          = true;
                }
                if (this.ignorePIs && !settings.IgnoreProcessingInstructions)
                {
                    ignorePis = true;
                    flag5     = true;
                }
                if (((this.dtdProcessing == System.Xml.DtdProcessing.Prohibit) && (settings.DtdProcessing != System.Xml.DtdProcessing.Prohibit)) || ((this.dtdProcessing == System.Xml.DtdProcessing.Ignore) && (settings.DtdProcessing == System.Xml.DtdProcessing.Parse)))
                {
                    dtdProcessing = this.dtdProcessing;
                    flag5         = true;
                }
            }
            if (!flag5)
            {
                return(baseReader);
            }
            IXmlNamespaceResolver readerAsNSResolver = baseReader as IXmlNamespaceResolver;

            if (readerAsNSResolver != null)
            {
                return(new XmlCharCheckingReaderWithNS(baseReader, readerAsNSResolver, checkCharacters, ignoreWhitespace, ignoreComments, ignorePis, dtdProcessing));
            }
            return(new XmlCharCheckingReader(baseReader, checkCharacters, ignoreWhitespace, ignoreComments, ignorePis, dtdProcessing));
        }