Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / WebForms / System / Web / UI / Design / XmlDocumentViewSchema.cs / 1 / XmlDocumentViewSchema.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI.Design { using System.Collections; using System.Collections.Specialized; using System.Diagnostics; using System.Xml; using System.Xml.XPath; ////// A class to expose hierarchical schema from an XmlDocument object. /// This is used by data source designers to enable data-bound to /// traverse their schema at design time. /// internal sealed class XmlDocumentViewSchema : IDataSourceViewSchema { private string _name; private OrderedDictionary _children; private ArrayList _attrs; private IDataSourceViewSchema[] _viewSchemas; private IDataSourceFieldSchema[] _fieldSchemas; private bool _includeSpecialSchema; public XmlDocumentViewSchema(string name, Pair data, bool includeSpecialSchema) { _includeSpecialSchema = includeSpecialSchema; Debug.Assert(name != null && name.Length > 0); Debug.Assert(data != null); _children = (OrderedDictionary)data.First; Debug.Assert(_children != null); _attrs = (ArrayList)data.Second; Debug.Assert(_attrs != null); _name = name; } public string Name { get { return _name; } } public IDataSourceViewSchema[] GetChildren() { if (_viewSchemas == null) { _viewSchemas = new IDataSourceViewSchema[_children.Count]; int i = 0; foreach (DictionaryEntry de in _children) { _viewSchemas[i] = new XmlDocumentViewSchema((string)de.Key, (Pair)de.Value, _includeSpecialSchema); i++; } } return _viewSchemas; } public IDataSourceFieldSchema[] GetFields() { if (_fieldSchemas == null) { // The three extra slots are for the "special" field names int specialSchemaCount = (_includeSpecialSchema ? 3 : 0); _fieldSchemas = new IDataSourceFieldSchema[_attrs.Count + specialSchemaCount]; if (_includeSpecialSchema) { _fieldSchemas[0] = new XmlDocumentFieldSchema("#Name"); _fieldSchemas[1] = new XmlDocumentFieldSchema("#Value"); _fieldSchemas[2] = new XmlDocumentFieldSchema("#InnerText"); } for (int i = 0; i < _attrs.Count; i++) { _fieldSchemas[i + specialSchemaCount] = new XmlDocumentFieldSchema((string)_attrs[i]); } } return _fieldSchemas; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ArrayWithOffset.cs
- StringStorage.cs
- IsolatedStorageSecurityState.cs
- AssemblyNameProxy.cs
- NodeLabelEditEvent.cs
- StreamReader.cs
- OdbcInfoMessageEvent.cs
- EntityParameter.cs
- ProviderConnectionPointCollection.cs
- IntegrationExceptionEventArgs.cs
- PublisherMembershipCondition.cs
- CommandLibraryHelper.cs
- XmlChoiceIdentifierAttribute.cs
- StyleCollection.cs
- TableLayoutPanel.cs
- BitmapFrame.cs
- ViewBase.cs
- DataMemberListEditor.cs
- UnmanagedBitmapWrapper.cs
- ValidatingPropertiesEventArgs.cs
- Number.cs
- DtdParser.cs
- GridViewRowCollection.cs
- ExceptionUtil.cs
- CorrelationToken.cs
- Queue.cs
- ListBoxItem.cs
- GenericParameterDataContract.cs
- ToolboxItemCollection.cs
- JsonClassDataContract.cs
- ScaleTransform3D.cs
- NamedElement.cs
- IntSecurity.cs
- DefaultValueAttribute.cs
- ToolStripDropTargetManager.cs
- ListDictionaryInternal.cs
- StylusPointPropertyInfo.cs
- SafeTokenHandle.cs
- WebPartTransformerCollection.cs
- InstallHelper.cs
- SecureUICommand.cs
- SystemTcpStatistics.cs
- SystemInformation.cs
- ListViewUpdatedEventArgs.cs
- MULTI_QI.cs
- ContainerControl.cs
- DateTimePicker.cs
- DataPagerFieldItem.cs
- DetailsViewDesigner.cs
- MdbDataFileEditor.cs
- storepermission.cs
- OleStrCAMarshaler.cs
- SmiEventStream.cs
- OperandQuery.cs
- FacetValueContainer.cs
- XmlWriter.cs
- RMPermissions.cs
- DescendantQuery.cs
- Utils.cs
- AffineTransform3D.cs
- TransactionFlowBindingElement.cs
- ProfilePropertySettingsCollection.cs
- GrammarBuilderRuleRef.cs
- PersonalizationProviderHelper.cs
- ServerIdentity.cs
- PathGradientBrush.cs
- HealthMonitoringSectionHelper.cs
- StyleTypedPropertyAttribute.cs
- OutputCacheProviderCollection.cs
- NaturalLanguageHyphenator.cs
- DrawListViewItemEventArgs.cs
- BasicCellRelation.cs
- MailHeaderInfo.cs
- PageThemeCodeDomTreeGenerator.cs
- GridItemCollection.cs
- InstancePersistenceException.cs
- TextSearch.cs
- log.cs
- ExceptionAggregator.cs
- HttpWriter.cs
- DataGridViewImageCell.cs
- ServiceCredentialsSecurityTokenManager.cs
- SoapSchemaImporter.cs
- DataGridSortCommandEventArgs.cs
- OdbcInfoMessageEvent.cs
- Variant.cs
- ToolboxItemSnapLineBehavior.cs
- PointCollection.cs
- DetailsViewPagerRow.cs
- DataGridViewCellMouseEventArgs.cs
- IDQuery.cs
- ScrollBar.cs
- SByteConverter.cs
- MobileFormsAuthentication.cs
- DllHostedComPlusServiceHost.cs
- RichTextBox.cs
- coordinatorscratchpad.cs
- SoapElementAttribute.cs
- SequentialUshortCollection.cs
- EventProviderWriter.cs