Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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
- KerberosSecurityTokenProvider.cs
- TypeUtil.cs
- SymmetricKey.cs
- CodeTypeMember.cs
- ZipIOModeEnforcingStream.cs
- DecimalFormatter.cs
- ComponentRenameEvent.cs
- ScrollBarRenderer.cs
- Clipboard.cs
- EventSchemaTraceListener.cs
- ValidateNames.cs
- Marshal.cs
- WebProxyScriptElement.cs
- StreamGeometry.cs
- XPathNodeInfoAtom.cs
- LambdaCompiler.Statements.cs
- SiteMembershipCondition.cs
- mongolianshape.cs
- PasswordBox.cs
- ScrollChrome.cs
- Action.cs
- MethodExpr.cs
- DataGridViewAutoSizeColumnModeEventArgs.cs
- safex509handles.cs
- MeasureData.cs
- HtmlForm.cs
- DataGridParentRows.cs
- NullableDecimalMinMaxAggregationOperator.cs
- CryptoStream.cs
- SqlNamer.cs
- VerificationException.cs
- RoleManagerModule.cs
- Activity.cs
- DbConnectionPoolCounters.cs
- ListBindingConverter.cs
- BamlRecordReader.cs
- X509CertificateCollection.cs
- TargetControlTypeCache.cs
- ApplicationCommands.cs
- QilUnary.cs
- SecurityState.cs
- ThemeDirectoryCompiler.cs
- HandledMouseEvent.cs
- DefaultParameterValueAttribute.cs
- Int16Converter.cs
- DataGridViewHeaderCell.cs
- ValueQuery.cs
- PageStatePersister.cs
- XamlBuildTaskServices.cs
- StreamResourceInfo.cs
- DataSourceControl.cs
- CheckedListBox.cs
- TraceSection.cs
- DataGridViewRowsAddedEventArgs.cs
- HostProtectionPermission.cs
- MarkupCompilePass2.cs
- Size.cs
- Debug.cs
- CalendarDesigner.cs
- CultureInfo.cs
- EntityDataSourceChangingEventArgs.cs
- XmlSchemaDatatype.cs
- Int32CollectionConverter.cs
- InProcStateClientManager.cs
- TransactionFlowBindingElementImporter.cs
- CodeAttributeArgumentCollection.cs
- ServiceChannelFactory.cs
- CodeArrayIndexerExpression.cs
- IsolatedStorageFileStream.cs
- Inflater.cs
- GlyphShapingProperties.cs
- TextTreeRootTextBlock.cs
- SoapExtensionReflector.cs
- BitStack.cs
- EntityProviderServices.cs
- RowToFieldTransformer.cs
- Rotation3DKeyFrameCollection.cs
- ComplexType.cs
- SystemGatewayIPAddressInformation.cs
- Subtree.cs
- DataServiceQueryOfT.cs
- MatrixAnimationBase.cs
- XmlJsonReader.cs
- SystemThemeKey.cs
- ByValueEqualityComparer.cs
- EdmRelationshipRoleAttribute.cs
- DigestTraceRecordHelper.cs
- Membership.cs
- XmlMemberMapping.cs
- XmlSchemaSimpleTypeList.cs
- X509KeyIdentifierClauseType.cs
- EntityContainer.cs
- Rule.cs
- PixelFormat.cs
- CursorConverter.cs
- DataGridHeaderBorder.cs
- BoundConstants.cs
- Drawing.cs
- DataSourceCollectionBase.cs
- ToolboxItem.cs