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
- VisualStyleInformation.cs
- Msmq.cs
- CreateUserWizardStep.cs
- TagPrefixAttribute.cs
- LongCountAggregationOperator.cs
- AssemblyInfo.cs
- WebBrowserNavigatingEventHandler.cs
- ColorPalette.cs
- GatewayIPAddressInformationCollection.cs
- InfoCardRSAPKCS1SignatureFormatter.cs
- HierarchicalDataSourceControl.cs
- ServicePointManagerElement.cs
- Stylesheet.cs
- OpenTypeLayout.cs
- ApplicationContext.cs
- ConstraintEnumerator.cs
- ButtonStandardAdapter.cs
- BehaviorEditorPart.cs
- UrlMappingsSection.cs
- RegexGroup.cs
- SpeechSynthesizer.cs
- Connector.cs
- ResourceCategoryAttribute.cs
- MSG.cs
- Types.cs
- DiscoveryDocument.cs
- DecimalKeyFrameCollection.cs
- NativeActivityAbortContext.cs
- UpdatePanel.cs
- HMACMD5.cs
- ConfigXmlCDataSection.cs
- MouseActionValueSerializer.cs
- Table.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- FontResourceCache.cs
- ThreadStateException.cs
- Mapping.cs
- Button.cs
- EntityDataSourceSelectingEventArgs.cs
- Encoder.cs
- WebScriptEnablingElement.cs
- UpdateExpressionVisitor.cs
- ActivityCodeDomSerializer.cs
- CookielessHelper.cs
- Certificate.cs
- UnsafeNativeMethods.cs
- DataGridViewSelectedCellCollection.cs
- NetworkStream.cs
- TypeDescriptionProviderAttribute.cs
- ServerType.cs
- LineSegment.cs
- ClientSettings.cs
- XmlReturnWriter.cs
- WorkItem.cs
- FormsAuthenticationModule.cs
- EditingMode.cs
- AccessedThroughPropertyAttribute.cs
- WebContext.cs
- WebConfigurationFileMap.cs
- IgnoreFileBuildProvider.cs
- DiagnosticStrings.cs
- MemberPath.cs
- XmlUnspecifiedAttribute.cs
- RSAProtectedConfigurationProvider.cs
- ExpressionReplacer.cs
- StructuredTypeEmitter.cs
- AppDomainUnloadedException.cs
- FamilyTypefaceCollection.cs
- SyndicationElementExtensionCollection.cs
- FormsAuthenticationEventArgs.cs
- PackWebRequest.cs
- ToolStripSeparator.cs
- TableTextElementCollectionInternal.cs
- Symbol.cs
- _UriSyntax.cs
- TableHeaderCell.cs
- HtmlContainerControl.cs
- SpellerStatusTable.cs
- BindingCompleteEventArgs.cs
- AssemblyHelper.cs
- SortedList.cs
- Line.cs
- compensatingcollection.cs
- SwitchAttribute.cs
- XmlSchemaDatatype.cs
- EventRecordWrittenEventArgs.cs
- ConfigErrorGlyph.cs
- AssemblyBuilder.cs
- FullTextLine.cs
- NotifyIcon.cs
- MemberCollection.cs
- ListViewDeletedEventArgs.cs
- ProgressBar.cs
- SystemResourceKey.cs
- DataGridTablesFactory.cs
- BrushMappingModeValidation.cs
- WebPartVerbCollection.cs
- ColumnMapVisitor.cs
- serverconfig.cs
- HMACMD5.cs