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
- PolyLineSegmentFigureLogic.cs
- ContextMenu.cs
- BufferedStream.cs
- Int32CollectionValueSerializer.cs
- RelationshipEnd.cs
- Currency.cs
- AdRotator.cs
- WeakKeyDictionary.cs
- TemplateApplicationHelper.cs
- CipherData.cs
- x509store.cs
- ConsumerConnectionPointCollection.cs
- ApplicationTrust.cs
- RegexWriter.cs
- TreeViewImageGenerator.cs
- XmlSchemaImport.cs
- FaultContractInfo.cs
- Item.cs
- HandlerMappingMemo.cs
- CachedFontFamily.cs
- MouseWheelEventArgs.cs
- DataGridToolTip.cs
- DataGridTemplateColumn.cs
- HtmlTableCellCollection.cs
- ExpressionEditorAttribute.cs
- DetailsViewInsertedEventArgs.cs
- ProvidersHelper.cs
- BaseDataBoundControl.cs
- BitmapFrame.cs
- LineServices.cs
- CategoryNameCollection.cs
- LabelDesigner.cs
- DefaultObjectSerializer.cs
- AuthenticationModulesSection.cs
- TableAdapterManagerGenerator.cs
- newinstructionaction.cs
- TraceUtility.cs
- RemoteAsymmetricSignatureFormatter.cs
- GridItemProviderWrapper.cs
- HyperLinkStyle.cs
- MetadataArtifactLoader.cs
- ParameterCollection.cs
- ListBindableAttribute.cs
- RoutedEvent.cs
- ReadingWritingEntityEventArgs.cs
- SchemaElement.cs
- FusionWrap.cs
- HandlerWithFactory.cs
- InkPresenterAutomationPeer.cs
- ColumnReorderedEventArgs.cs
- ConstraintConverter.cs
- IndentedWriter.cs
- JavaScriptSerializer.cs
- WindowsListViewItem.cs
- OleDbCommandBuilder.cs
- ReliabilityContractAttribute.cs
- DesignSurfaceEvent.cs
- InitializationEventAttribute.cs
- Nullable.cs
- SemanticResolver.cs
- EventDescriptorCollection.cs
- PassportPrincipal.cs
- X509ThumbprintKeyIdentifierClause.cs
- SimpleRecyclingCache.cs
- FrameSecurityDescriptor.cs
- PropertyCondition.cs
- ControlBindingsConverter.cs
- CharAnimationUsingKeyFrames.cs
- HtmlInputText.cs
- BrushMappingModeValidation.cs
- GrammarBuilderPhrase.cs
- WrappedOptions.cs
- DataView.cs
- FilteredAttributeCollection.cs
- ProfileServiceManager.cs
- SafeSecurityHandles.cs
- InvalidAsynchronousStateException.cs
- TokenFactoryCredential.cs
- SqlMultiplexer.cs
- ValidateNames.cs
- SQLMoney.cs
- WebScriptEnablingElement.cs
- Substitution.cs
- DbProviderSpecificTypePropertyAttribute.cs
- GB18030Encoding.cs
- AsymmetricSignatureDeformatter.cs
- SourceFileBuildProvider.cs
- SequenceNumber.cs
- StatusInfoItem.cs
- CmsInterop.cs
- DataTableReader.cs
- SqlDataSourceCommandEventArgs.cs
- CodeSubDirectory.cs
- TraceEventCache.cs
- Block.cs
- DataTableMapping.cs
- AutoCompleteStringCollection.cs
- ScrollItemPattern.cs
- ContentControl.cs
- DataRelationPropertyDescriptor.cs