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
- JulianCalendar.cs
- WindowsComboBox.cs
- ProgressChangedEventArgs.cs
- XmlUtil.cs
- Color.cs
- EncodingTable.cs
- HtmlElementEventArgs.cs
- TableLayoutStyle.cs
- WebContext.cs
- ContentPlaceHolder.cs
- AttributeQuery.cs
- SetState.cs
- Zone.cs
- ExpressionTextBox.xaml.cs
- DefaultSerializationProviderAttribute.cs
- FlowLayoutSettings.cs
- ItemList.cs
- infer.cs
- PersistenceContext.cs
- ChangePasswordDesigner.cs
- CharacterShapingProperties.cs
- MasterPage.cs
- TempEnvironment.cs
- VisualCollection.cs
- DataProtection.cs
- EventProviderWriter.cs
- SmiRequestExecutor.cs
- Hyperlink.cs
- Switch.cs
- unitconverter.cs
- ActivityPreviewDesigner.cs
- DescendentsWalker.cs
- ImageListStreamer.cs
- XmlSchemaInclude.cs
- WebPartDisplayModeEventArgs.cs
- IdnMapping.cs
- Signature.cs
- HandlerFactoryCache.cs
- VBIdentifierName.cs
- Tag.cs
- ClientUrlResolverWrapper.cs
- RectangleGeometry.cs
- Geometry.cs
- IDictionary.cs
- RefreshResponseInfo.cs
- EntityContainerEntitySetDefiningQuery.cs
- SmiGettersStream.cs
- DataGridViewRowPrePaintEventArgs.cs
- QilGeneratorEnv.cs
- AutoCompleteStringCollection.cs
- RegexNode.cs
- BamlMapTable.cs
- WebException.cs
- WorkflowOperationBehavior.cs
- Rule.cs
- Window.cs
- messageonlyhwndwrapper.cs
- HtmlSelect.cs
- PageTheme.cs
- HtmlTable.cs
- DynamicValueConverter.cs
- DataContractSerializerSection.cs
- TabletDeviceInfo.cs
- New.cs
- EncryptedXml.cs
- dsa.cs
- PropertyEntry.cs
- ServicePoint.cs
- ProviderBase.cs
- ReachBasicContext.cs
- ResolveInfo.cs
- MyContact.cs
- SignalGate.cs
- PrimaryKeyTypeConverter.cs
- CqlWriter.cs
- CollectionViewGroupInternal.cs
- DiscoveryDocumentLinksPattern.cs
- NativeWindow.cs
- SchemaTypeEmitter.cs
- DataGridPagerStyle.cs
- SystemInfo.cs
- SplitterPanel.cs
- DecoderReplacementFallback.cs
- CroppedBitmap.cs
- PiiTraceSource.cs
- MediaScriptCommandRoutedEventArgs.cs
- FullTextBreakpoint.cs
- Activator.cs
- RightsManagementEncryptionTransform.cs
- RawAppCommandInputReport.cs
- InvalidPropValue.cs
- DATA_BLOB.cs
- SmiEventSink_Default.cs
- RoleService.cs
- OciLobLocator.cs
- ClientApiGenerator.cs
- StringComparer.cs
- OutputCacheSettingsSection.cs
- _Rfc2616CacheValidators.cs
- TypeGenericEnumerableViewSchema.cs