Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / XmlUtils / System / Xml / Xsl / Runtime / XmlILIndex.cs / 1305376 / 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.
Link Menu
![Network programming in C#, Network Programming in VB.NET, Network Programming in .NET](/images/book.jpg)
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TdsParameterSetter.cs
- WebPartMenu.cs
- XmlSchemaGroupRef.cs
- DataSourceNameHandler.cs
- AtomicFile.cs
- Part.cs
- SatelliteContractVersionAttribute.cs
- JsonFormatWriterGenerator.cs
- ClosableStream.cs
- TokenCreationParameter.cs
- XsltContext.cs
- StringComparer.cs
- RoleService.cs
- Binding.cs
- DataTablePropertyDescriptor.cs
- NavigationProperty.cs
- MobileUserControl.cs
- ImageUrlEditor.cs
- CompilerErrorCollection.cs
- StrokeCollectionConverter.cs
- HwndSourceKeyboardInputSite.cs
- FreezableCollection.cs
- TransformerInfo.cs
- SchemaType.cs
- PropertyValueChangedEvent.cs
- TypeTypeConverter.cs
- GlyphingCache.cs
- HwndSource.cs
- GlyphElement.cs
- XmlDataSource.cs
- SemanticValue.cs
- DelegateSerializationHolder.cs
- DateTimeConverter2.cs
- Matrix3DStack.cs
- Gdiplus.cs
- TypedElement.cs
- HttpProfileGroupBase.cs
- WindowsListBox.cs
- TimeManager.cs
- XmlDataDocument.cs
- SqlGenerator.cs
- GeneralTransformCollection.cs
- WorkflowQueuingService.cs
- RuntimeIdentifierPropertyAttribute.cs
- XPathExpr.cs
- sqlser.cs
- Calendar.cs
- XmlBinaryReader.cs
- AuthenticationConfig.cs
- Timer.cs
- FamilyMap.cs
- HTMLTextWriter.cs
- Operator.cs
- ObjectRef.cs
- PropertyDescriptor.cs
- TdsEnums.cs
- VarInfo.cs
- ChangesetResponse.cs
- PassportAuthentication.cs
- RijndaelManagedTransform.cs
- CleanUpVirtualizedItemEventArgs.cs
- InstalledFontCollection.cs
- RectangleGeometry.cs
- DrawListViewColumnHeaderEventArgs.cs
- wgx_render.cs
- SelectionUIHandler.cs
- TakeOrSkipWhileQueryOperator.cs
- WebOperationContext.cs
- EncodingStreamWrapper.cs
- ErrorWebPart.cs
- ChannelSinkStacks.cs
- GlyphCache.cs
- ToolStripControlHost.cs
- ISAPIWorkerRequest.cs
- KernelTypeValidation.cs
- MenuItemStyleCollection.cs
- CodeEntryPointMethod.cs
- Win32PrintDialog.cs
- cookieexception.cs
- PeerApplication.cs
- RelationshipType.cs
- Connector.xaml.cs
- Guid.cs
- WindowsAltTab.cs
- UserPersonalizationStateInfo.cs
- SurrogateSelector.cs
- ClientTarget.cs
- TextDecorationUnitValidation.cs
- OleDbError.cs
- ConfigsHelper.cs
- XmlSerializer.cs
- PageStatePersister.cs
- EncoderNLS.cs
- BitmapEffectInputConnector.cs
- FontCacheLogic.cs
- SiteMap.cs
- EdmEntityTypeAttribute.cs
- Literal.cs
- SQLMoneyStorage.cs
- Currency.cs