Code:
/ DotNET / DotNET / 8.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
- TableLayoutRowStyleCollection.cs
- ExceptionUtil.cs
- FormsAuthentication.cs
- DefaultBinder.cs
- WindowAutomationPeer.cs
- WebUtil.cs
- InfiniteIntConverter.cs
- HotCommands.cs
- NativeMethods.cs
- ProcessThread.cs
- InheritanceRules.cs
- LayoutUtils.cs
- StyleHelper.cs
- FileLoadException.cs
- NetPeerTcpBindingCollectionElement.cs
- SpeechUI.cs
- CheckBoxField.cs
- TreeChangeInfo.cs
- ResourcePart.cs
- TimeManager.cs
- XmlDataContract.cs
- ServiceNameCollection.cs
- ListControlBoundActionList.cs
- WebConfigurationHostFileChange.cs
- HttpInputStream.cs
- HotSpot.cs
- HtmlElementErrorEventArgs.cs
- CellPartitioner.cs
- EntityProviderServices.cs
- WebPartConnectionsCloseVerb.cs
- SoapInteropTypes.cs
- DataSourceConverter.cs
- ListDesigner.cs
- AutomationProperties.cs
- ObjectDataSourceEventArgs.cs
- Int32Storage.cs
- OleDbMetaDataFactory.cs
- DrawTreeNodeEventArgs.cs
- ByteConverter.cs
- LayoutEvent.cs
- GeneralTransform3D.cs
- DataGridTablesFactory.cs
- VirtualPathProvider.cs
- ExpandSegmentCollection.cs
- WMIGenerator.cs
- RegionIterator.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- ProcessExitedException.cs
- OleDbErrorCollection.cs
- CodeTypeReferenceExpression.cs
- PipelineModuleStepContainer.cs
- RightNameExpirationInfoPair.cs
- SapiRecognizer.cs
- Color.cs
- IfElseDesigner.xaml.cs
- DataGridColumnCollection.cs
- WorkflowItemPresenter.cs
- XmlParser.cs
- MissingManifestResourceException.cs
- HostSecurityManager.cs
- OdbcParameter.cs
- counter.cs
- NodeInfo.cs
- BooleanFunctions.cs
- NativeMethods.cs
- ResetableIterator.cs
- ScrollProperties.cs
- ConfigurationManager.cs
- ToggleButtonAutomationPeer.cs
- SpeakInfo.cs
- VisualCollection.cs
- DetectRunnableInstancesTask.cs
- XmlSchemaCollection.cs
- RoutedEventHandlerInfo.cs
- SystemTcpConnection.cs
- EntityDataSourceSelectingEventArgs.cs
- AlignmentYValidation.cs
- Stack.cs
- TextEditorCharacters.cs
- ADRoleFactory.cs
- WebEvents.cs
- _SSPIWrapper.cs
- RankException.cs
- Missing.cs
- ScrollProviderWrapper.cs
- DesignerHelpers.cs
- VersionedStreamOwner.cs
- _BasicClient.cs
- XsdDuration.cs
- CustomErrorCollection.cs
- EventSinkActivity.cs
- IndentedTextWriter.cs
- MetadataItemEmitter.cs
- SplitterPanel.cs
- GorillaCodec.cs
- QilStrConcatenator.cs
- SEHException.cs
- WindowsIPAddress.cs
- CursorConverter.cs
- GridViewSelectEventArgs.cs