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

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- IriParsingElement.cs
- ExecutedRoutedEventArgs.cs
- ClockController.cs
- TaskCanceledException.cs
- ServiceNameElement.cs
- BoolLiteral.cs
- ConstraintCollection.cs
- MouseEvent.cs
- ParagraphResult.cs
- SrgsDocumentParser.cs
- WindowsAuthenticationModule.cs
- TextEditor.cs
- SHA1Managed.cs
- CompilerInfo.cs
- RegexCompilationInfo.cs
- ResourceSetExpression.cs
- TextDpi.cs
- BaseParaClient.cs
- ApplicationId.cs
- CodeAttributeDeclarationCollection.cs
- ProtocolViolationException.cs
- DataRecordInternal.cs
- RNGCryptoServiceProvider.cs
- SQLSingle.cs
- StrongNameMembershipCondition.cs
- DragDeltaEventArgs.cs
- ToolBarDesigner.cs
- PassportIdentity.cs
- FixedStringLookup.cs
- List.cs
- ElapsedEventArgs.cs
- FusionWrap.cs
- ToolStripContentPanel.cs
- SQLInt32.cs
- ComplexLine.cs
- SortedDictionary.cs
- hresults.cs
- LabelEditEvent.cs
- LoginView.cs
- ViewCellRelation.cs
- FileVersionInfo.cs
- GridViewCommandEventArgs.cs
- QilGenerator.cs
- SchemaCollectionCompiler.cs
- Events.cs
- CompiledRegexRunner.cs
- UICuesEvent.cs
- MethodExpr.cs
- Int16KeyFrameCollection.cs
- WebPartEditorOkVerb.cs
- WindowsTitleBar.cs
- ProfileGroupSettingsCollection.cs
- HtmlImage.cs
- XamlDesignerSerializationManager.cs
- SystemResourceHost.cs
- DataObjectEventArgs.cs
- SQLCharsStorage.cs
- Encoder.cs
- FontSizeConverter.cs
- SchemaImporterExtensionElement.cs
- Decorator.cs
- EncodingDataItem.cs
- ModelUIElement3D.cs
- StringCollection.cs
- Completion.cs
- XPathArrayIterator.cs
- ClientOptions.cs
- Rotation3DAnimationBase.cs
- manifestimages.cs
- ResolvedKeyFrameEntry.cs
- XmlSchemaAnnotation.cs
- IFormattable.cs
- ProtocolsConfiguration.cs
- CatalogZoneBase.cs
- DrawingContextDrawingContextWalker.cs
- ResizeGrip.cs
- ObjectStateEntryDbDataRecord.cs
- NullableFloatAverageAggregationOperator.cs
- DateTimeFormat.cs
- ListView.cs
- TreeWalker.cs
- ThumbAutomationPeer.cs
- _RequestCacheProtocol.cs
- StorageMappingItemLoader.cs
- DiffuseMaterial.cs
- __Filters.cs
- DockPanel.cs
- Compensate.cs
- DesignerMetadata.cs
- _NestedSingleAsyncResult.cs
- ProcessThread.cs
- BrowserCapabilitiesFactory.cs
- TypeResolver.cs
- ContentFileHelper.cs
- DebugHandleTracker.cs
- CommandExpr.cs
- XmlRootAttribute.cs
- TimeZoneInfo.cs
- VarRefManager.cs
- RayMeshGeometry3DHitTestResult.cs