Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / XmlUtils / System / Xml / Xsl / Runtime / XmlILIndex.cs / 2 / XmlILIndex.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics; using System.Xml.XPath; namespace System.Xml.Xsl.Runtime { ////// This class manages nodes from one input document, indexed by key value(s). /// [EditorBrowsable(EditorBrowsableState.Never)] public sealed class XmlILIndex { private Dictionarytable; /// /// This constructor is internal so that external users cannot construct it (and therefore we do not have to test it separately). /// internal XmlILIndex() { this.table = new Dictionary(); } /// /// Add a node indexed by the specified key value. /// public void Add(string key, XPathNavigator navigator) { XmlQueryNodeSequence seq; if (!this.table.TryGetValue(key, out seq)) { // Create a new sequence and add it to the index seq = new XmlQueryNodeSequence(); seq.AddClone(navigator); this.table.Add(key, seq); } else { // The nodes are guaranteed to be added in document order with possible duplicates. // Add node to the existing sequence if it differs from the last one. Debug.Assert(navigator.ComparePosition(seq[seq.Count - 1]) >= 0, "Index nodes must be added in document order"); if (!navigator.IsSamePosition(seq[seq.Count - 1])) { seq.AddClone(navigator); } } } ////// Lookup a sequence of nodes that are indexed by the specified key value. /// Return a non-null empty sequence, if there are no nodes associated with the key. /// public XmlQueryNodeSequence Lookup(string key) { XmlQueryNodeSequence seq; if (!this.table.TryGetValue(key, out seq)) seq = new XmlQueryNodeSequence(); return seq; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics; using System.Xml.XPath; namespace System.Xml.Xsl.Runtime { ////// This class manages nodes from one input document, indexed by key value(s). /// [EditorBrowsable(EditorBrowsableState.Never)] public sealed class XmlILIndex { private Dictionarytable; /// /// This constructor is internal so that external users cannot construct it (and therefore we do not have to test it separately). /// internal XmlILIndex() { this.table = new Dictionary(); } /// /// Add a node indexed by the specified key value. /// public void Add(string key, XPathNavigator navigator) { XmlQueryNodeSequence seq; if (!this.table.TryGetValue(key, out seq)) { // Create a new sequence and add it to the index seq = new XmlQueryNodeSequence(); seq.AddClone(navigator); this.table.Add(key, seq); } else { // The nodes are guaranteed to be added in document order with possible duplicates. // Add node to the existing sequence if it differs from the last one. Debug.Assert(navigator.ComparePosition(seq[seq.Count - 1]) >= 0, "Index nodes must be added in document order"); if (!navigator.IsSamePosition(seq[seq.Count - 1])) { seq.AddClone(navigator); } } } ////// Lookup a sequence of nodes that are indexed by the specified key value. /// Return a non-null empty sequence, if there are no nodes associated with the key. /// public XmlQueryNodeSequence Lookup(string key) { XmlQueryNodeSequence seq; if (!this.table.TryGetValue(key, out seq)) seq = new XmlQueryNodeSequence(); return seq; } } } // 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
- InvalidCardException.cs
- ValueQuery.cs
- SqlDesignerDataSourceView.cs
- UnsafePeerToPeerMethods.cs
- ProjectionCamera.cs
- CodeDirectionExpression.cs
- XmlSignificantWhitespace.cs
- HttpContextServiceHost.cs
- MediaSystem.cs
- CacheVirtualItemsEvent.cs
- DetailsViewInsertedEventArgs.cs
- CompiledAction.cs
- Schema.cs
- MatrixTransform.cs
- tabpagecollectioneditor.cs
- HttpRequest.cs
- XmlDocumentType.cs
- XmlSchemaComplexContent.cs
- PageOrientation.cs
- ShaperBuffers.cs
- AnonymousIdentificationModule.cs
- SoapElementAttribute.cs
- ReplacementText.cs
- RegexStringValidator.cs
- SizeConverter.cs
- BooleanStorage.cs
- ObjectListFieldsPage.cs
- NetworkInterface.cs
- DataTemplate.cs
- DatePickerTextBox.cs
- TracedNativeMethods.cs
- ActivityCompletionCallbackWrapper.cs
- Matrix.cs
- CopyCodeAction.cs
- ConnectionAcceptor.cs
- DataGridViewRowEventArgs.cs
- OciEnlistContext.cs
- CodeCastExpression.cs
- UrlAuthFailedErrorFormatter.cs
- DataAdapter.cs
- PassportAuthenticationEventArgs.cs
- PrinterUnitConvert.cs
- GCHandleCookieTable.cs
- WinOEToolBoxItem.cs
- ComponentChangedEvent.cs
- Label.cs
- ObjectStateFormatter.cs
- DBCSCodePageEncoding.cs
- XmlSchemaComplexContent.cs
- RestClientProxyHandler.cs
- ListViewDeletedEventArgs.cs
- CookieParameter.cs
- WindowsAuthenticationEventArgs.cs
- CurrentTimeZone.cs
- ExecutionContext.cs
- ChannelSinkStacks.cs
- ChangeTracker.cs
- HyperLinkField.cs
- ComponentDesigner.cs
- LongValidatorAttribute.cs
- Model3DCollection.cs
- DataGridViewTopRowAccessibleObject.cs
- ProfileProvider.cs
- MultiPartWriter.cs
- NetworkInformationPermission.cs
- ComponentGlyph.cs
- OleDbCommandBuilder.cs
- GridViewSelectEventArgs.cs
- SiteOfOriginPart.cs
- CroppedBitmap.cs
- DataSourceControlBuilder.cs
- DataGridAutoFormat.cs
- PageCache.cs
- CompositeActivityTypeDescriptorProvider.cs
- ComPlusInstanceContextInitializer.cs
- XmlReaderDelegator.cs
- WebBrowsableAttribute.cs
- SourceFilter.cs
- SchemaLookupTable.cs
- PrintPageEvent.cs
- SoapSchemaExporter.cs
- DeferredElementTreeState.cs
- NonBatchDirectoryCompiler.cs
- WpfWebRequestHelper.cs
- DataSourceCacheDurationConverter.cs
- PreviewPrintController.cs
- InternalCache.cs
- PreviewPrintController.cs
- _SslStream.cs
- TableProvider.cs
- FormsAuthenticationConfiguration.cs
- ConnectionInterfaceCollection.cs
- AuthenticationModulesSection.cs
- ImageDrawing.cs
- SubstitutionDesigner.cs
- DirectoryInfo.cs
- FastEncoderWindow.cs
- InstanceCreationEditor.cs
- AccessDataSourceView.cs
- EncryptedPackage.cs