Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / XmlUtils / System / Xml / Xsl / QueryReaderSettings.cs / 1305376 / QueryReaderSettings.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Xml; namespace System.Xml.Xsl { internal class QueryReaderSettings { private bool validatingReader; private XmlReaderSettings xmlReaderSettings; private XmlNameTable xmlNameTable; private EntityHandling entityHandling; private bool namespaces; private bool normalization; private bool prohibitDtd; private WhitespaceHandling whitespaceHandling; private XmlResolver xmlResolver; public QueryReaderSettings(XmlNameTable xmlNameTable) { Debug.Assert(xmlNameTable != null); xmlReaderSettings = new XmlReaderSettings(); xmlReaderSettings.NameTable = xmlNameTable; xmlReaderSettings.ConformanceLevel = ConformanceLevel.Document; xmlReaderSettings.XmlResolver = null; xmlReaderSettings.DtdProcessing = DtdProcessing.Prohibit; xmlReaderSettings.CloseInput = true; } public QueryReaderSettings(XmlReader reader) { #pragma warning disable 618 XmlValidatingReader valReader = reader as XmlValidatingReader; #pragma warning restore 618 if (valReader != null) { // Unwrap validation reader validatingReader = true; reader = valReader.Impl.Reader; } xmlReaderSettings = reader.Settings; if (xmlReaderSettings != null) { xmlReaderSettings = xmlReaderSettings.Clone(); xmlReaderSettings.NameTable = reader.NameTable; xmlReaderSettings.CloseInput = true; xmlReaderSettings.LineNumberOffset = 0; xmlReaderSettings.LinePositionOffset = 0; XmlTextReaderImpl impl = reader as XmlTextReaderImpl; if (impl != null) { xmlReaderSettings.XmlResolver = impl.GetResolver(); } } else { xmlNameTable = reader.NameTable; XmlTextReader xmlTextReader = reader as XmlTextReader; if (xmlTextReader != null) { XmlTextReaderImpl impl = xmlTextReader.Impl; entityHandling = impl.EntityHandling; namespaces = impl.Namespaces; normalization = impl.Normalization; prohibitDtd = ( impl.DtdProcessing == DtdProcessing.Prohibit ); whitespaceHandling = impl.WhitespaceHandling; xmlResolver = impl.GetResolver(); } else { entityHandling = EntityHandling.ExpandEntities; namespaces = true; normalization = true; prohibitDtd = true; whitespaceHandling = WhitespaceHandling.All; xmlResolver = null; } } } public XmlReader CreateReader(Stream stream, string baseUri) { XmlReader reader; if (xmlReaderSettings != null) { reader = XmlTextReader.Create(stream, xmlReaderSettings, baseUri); } else { XmlTextReaderImpl readerImpl = new XmlTextReaderImpl(baseUri, stream, xmlNameTable); readerImpl.EntityHandling = entityHandling; readerImpl.Namespaces = namespaces; readerImpl.Normalization = normalization; readerImpl.DtdProcessing = prohibitDtd ? DtdProcessing.Prohibit : DtdProcessing.Parse; readerImpl.WhitespaceHandling = whitespaceHandling; readerImpl.XmlResolver = xmlResolver; reader = readerImpl; } if (validatingReader) { #pragma warning disable 618 reader = new XmlValidatingReader(reader); #pragma warning restore 618 } return reader; } public XmlNameTable NameTable { get { return xmlReaderSettings != null ? xmlReaderSettings.NameTable : xmlNameTable; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SettingsPropertyCollection.cs
- HtmlControlPersistable.cs
- TagMapCollection.cs
- EdmFunctions.cs
- XmlTextEncoder.cs
- Cursor.cs
- MD5CryptoServiceProvider.cs
- ModuleBuilder.cs
- IResourceProvider.cs
- ToolStripDropDownItem.cs
- DataControlReferenceCollection.cs
- ProcessInfo.cs
- _HTTPDateParse.cs
- TreeViewBindingsEditor.cs
- IdentitySection.cs
- DictionaryKeyPropertyAttribute.cs
- HostingEnvironmentWrapper.cs
- DES.cs
- HtmlLabelAdapter.cs
- TextPattern.cs
- EventSourceCreationData.cs
- X500Name.cs
- mediaclock.cs
- SubMenuStyleCollection.cs
- XmlEncApr2001.cs
- DragEvent.cs
- EntityDesignerDataSourceView.cs
- PerformanceCounterPermissionEntry.cs
- xdrvalidator.cs
- _HTTPDateParse.cs
- CommandManager.cs
- ToolboxItemCollection.cs
- WhitespaceRuleReader.cs
- DataSvcMapFileSerializer.cs
- DesignerActionList.cs
- GifBitmapEncoder.cs
- InputBinder.cs
- Vector3DAnimation.cs
- Exception.cs
- ListViewSortEventArgs.cs
- Matrix3D.cs
- BamlResourceContent.cs
- ObjectViewFactory.cs
- FindResponse.cs
- BitmapEffectInputConnector.cs
- MediaContextNotificationWindow.cs
- GridLengthConverter.cs
- GACMembershipCondition.cs
- XmlAtomErrorReader.cs
- CompModHelpers.cs
- CalendarDayButton.cs
- ProxyHelper.cs
- XmlHierarchicalEnumerable.cs
- EditBehavior.cs
- PersonalizationState.cs
- CookieParameter.cs
- HttpServerUtilityWrapper.cs
- _DynamicWinsockMethods.cs
- TCEAdapterGenerator.cs
- LifetimeMonitor.cs
- PropertyEmitter.cs
- ParserExtension.cs
- ConfigurationLocationCollection.cs
- VerificationException.cs
- CodeIterationStatement.cs
- ObjectCloneHelper.cs
- DataGridHeaderBorder.cs
- DataObjectPastingEventArgs.cs
- InfoCardX509Validator.cs
- OleDbTransaction.cs
- configsystem.cs
- ScrollItemPattern.cs
- VisualTreeUtils.cs
- HelloOperationCD1AsyncResult.cs
- NTAccount.cs
- BitmapPalettes.cs
- EditorZoneBase.cs
- BrowserCapabilitiesFactoryBase.cs
- AttributeData.cs
- DataGridRowAutomationPeer.cs
- GrammarBuilder.cs
- SamlSerializer.cs
- PropertyEntry.cs
- ObjectHandle.cs
- ClaimComparer.cs
- ConfigXmlElement.cs
- XPathParser.cs
- WeakReference.cs
- LinqToSqlWrapper.cs
- ConfigXmlReader.cs
- SmtpAuthenticationManager.cs
- FontCacheLogic.cs
- ObjectDataSourceChooseTypePanel.cs
- AssemblyLoader.cs
- path.cs
- MenuItemBinding.cs
- SequentialWorkflowRootDesigner.cs
- CultureSpecificStringDictionary.cs
- EntityClassGenerator.cs
- ConfigXmlDocument.cs