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
- smtppermission.cs
- UnmanagedBitmapWrapper.cs
- StateRuntime.cs
- AttachedPropertyMethodSelector.cs
- SqlBulkCopyColumnMappingCollection.cs
- HostedHttpRequestAsyncResult.cs
- Expr.cs
- IdentityNotMappedException.cs
- TypeForwardedToAttribute.cs
- GridViewRow.cs
- Vector.cs
- AttributeAction.cs
- HttpDictionary.cs
- PackWebRequest.cs
- ServiceOperationWrapper.cs
- GridViewUpdateEventArgs.cs
- Size3D.cs
- TransformProviderWrapper.cs
- MonthChangedEventArgs.cs
- CodeEntryPointMethod.cs
- RequestBringIntoViewEventArgs.cs
- SoapFault.cs
- GridView.cs
- AssociatedControlConverter.cs
- CqlBlock.cs
- NameObjectCollectionBase.cs
- FontCollection.cs
- ResXResourceWriter.cs
- Point4DConverter.cs
- RegexTypeEditor.cs
- SpanIndex.cs
- AsymmetricSignatureDeformatter.cs
- WebPartVerb.cs
- Flattener.cs
- LinqDataSourceInsertEventArgs.cs
- Nullable.cs
- Bitmap.cs
- XPathDescendantIterator.cs
- IPEndPointCollection.cs
- ExplicitDiscriminatorMap.cs
- ProviderUtil.cs
- Deflater.cs
- SessionEndingEventArgs.cs
- SectionUpdates.cs
- SecurityUtils.cs
- ServiceDefaults.cs
- HighlightComponent.cs
- COM2PropertyBuilderUITypeEditor.cs
- QilLoop.cs
- BrowserCapabilitiesFactory.cs
- FixedTextContainer.cs
- TextParagraph.cs
- x509utils.cs
- TreeViewCancelEvent.cs
- Configuration.cs
- SqlRecordBuffer.cs
- TransactionBehavior.cs
- SmiEventStream.cs
- StaticExtensionConverter.cs
- ConfigurationValidatorAttribute.cs
- Message.cs
- Icon.cs
- DiagnosticTrace.cs
- EnumCodeDomSerializer.cs
- embossbitmapeffect.cs
- BitFlagsGenerator.cs
- TextSpan.cs
- TextStore.cs
- AsyncOperationManager.cs
- ByteRangeDownloader.cs
- KeyedCollection.cs
- GeneralTransform2DTo3DTo2D.cs
- ISAPIRuntime.cs
- BezierSegment.cs
- MetadataFile.cs
- DrawingDrawingContext.cs
- PerspectiveCamera.cs
- XamlToRtfParser.cs
- CustomErrorCollection.cs
- CodeGroup.cs
- DeleteHelper.cs
- GridToolTip.cs
- PseudoWebRequest.cs
- ResourceReferenceExpression.cs
- PagerStyle.cs
- ScaleTransform3D.cs
- GroupBoxAutomationPeer.cs
- SqlParameter.cs
- TemplateNodeContextMenu.cs
- MarshalDirectiveException.cs
- QilDataSource.cs
- DataGridColumnHeaderAutomationPeer.cs
- PolicyLevel.cs
- DefaultExpression.cs
- ClientProxyGenerator.cs
- WorkflowExecutor.cs
- XamlStream.cs
- DetailsViewDeleteEventArgs.cs
- FillBehavior.cs
- FormsAuthentication.cs