Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / fx / src / XmlUtils / System / Xml / Xsl / QueryReaderSettings.cs / 1 / 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.ProhibitDtd = true; 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.ProhibitDtd; 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.ProhibitDtd = prohibitDtd; 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. //------------------------------------------------------------------------------ //// 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.ProhibitDtd = true; 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.ProhibitDtd; 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.ProhibitDtd = prohibitDtd; 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
- CustomTypeDescriptor.cs
- ResourceType.cs
- BuildProviderCollection.cs
- ExceptionHandler.cs
- sqlser.cs
- FixedSOMSemanticBox.cs
- PreProcessInputEventArgs.cs
- CopyEncoder.cs
- PropertySegmentSerializationProvider.cs
- Select.cs
- ProgressBarBrushConverter.cs
- ColorBlend.cs
- HttpListenerException.cs
- TypeConstant.cs
- PLINQETWProvider.cs
- Utils.cs
- UIAgentAsyncEndRequest.cs
- WebPartConnectVerb.cs
- ReachIDocumentPaginatorSerializer.cs
- WebResponse.cs
- ParagraphResult.cs
- ServiceElement.cs
- DataGridViewIntLinkedList.cs
- webbrowsersite.cs
- DataGridPageChangedEventArgs.cs
- TableRow.cs
- IMembershipProvider.cs
- StateItem.cs
- ProfileGroupSettings.cs
- SqlParameter.cs
- KnownTypes.cs
- WebContext.cs
- TextTreeRootNode.cs
- TemplatePropertyEntry.cs
- DetailsViewUpdateEventArgs.cs
- HtmlTableCell.cs
- DragEvent.cs
- OdbcStatementHandle.cs
- MatrixValueSerializer.cs
- PerformanceCounterPermissionAttribute.cs
- HMACSHA256.cs
- TextDecorationCollectionConverter.cs
- controlskin.cs
- PolicyImporterElement.cs
- ItemsControlAutomationPeer.cs
- Int32.cs
- DbParameterHelper.cs
- FigureParaClient.cs
- TypeHelpers.cs
- DataGridPagingPage.cs
- MarkupProperty.cs
- IsolatedStorage.cs
- TextParagraph.cs
- XmlCDATASection.cs
- SHA384.cs
- ScrollChrome.cs
- DuplicateWaitObjectException.cs
- TableLayoutStyle.cs
- CompositeClientFormatter.cs
- ContentDisposition.cs
- activationcontext.cs
- KeyInfo.cs
- NumericUpDown.cs
- SiteMapNodeItemEventArgs.cs
- PrimitiveDataContract.cs
- TextBoxBase.cs
- DescriptionCreator.cs
- RegionIterator.cs
- ModelVisual3D.cs
- ManualResetEvent.cs
- SafeEventHandle.cs
- DocumentReference.cs
- GestureRecognizer.cs
- ComponentChangedEvent.cs
- NativeMethods.cs
- MiniAssembly.cs
- SecurityContextSecurityTokenAuthenticator.cs
- RefreshEventArgs.cs
- ObjectDataSourceEventArgs.cs
- DataGridViewRowPrePaintEventArgs.cs
- EtwProvider.cs
- ListSortDescriptionCollection.cs
- ListBoxChrome.cs
- QuaternionRotation3D.cs
- EntityDataSourceContainerNameItem.cs
- SQLRoleProvider.cs
- WorkingDirectoryEditor.cs
- FormatException.cs
- ResourceAttributes.cs
- ThrowHelper.cs
- DataGridViewComboBoxCell.cs
- SubMenuStyleCollection.cs
- SqlProviderManifest.cs
- SymLanguageType.cs
- AuthenticationModuleElement.cs
- FormViewDeleteEventArgs.cs
- dsa.cs
- StrokeCollection.cs
- RegexCompiler.cs
- XDRSchema.cs