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
- HttpModuleAction.cs
- DropDownHolder.cs
- ServiceRouteHandler.cs
- PreparingEnlistment.cs
- BookmarkTable.cs
- XmlResolver.cs
- QuotedPrintableStream.cs
- PageAsyncTask.cs
- NetworkInformationException.cs
- Authorization.cs
- ColorAnimationBase.cs
- MD5CryptoServiceProvider.cs
- CollectionViewGroup.cs
- SecurityPermission.cs
- CalendarKeyboardHelper.cs
- DbExpressionRules.cs
- DuplicateWaitObjectException.cs
- EntityObject.cs
- InheritanceAttribute.cs
- ControlCodeDomSerializer.cs
- NetWebProxyFinder.cs
- StorageBasedPackageProperties.cs
- EntityDataSourceWrapper.cs
- Compilation.cs
- EntityDataSourceContextCreatingEventArgs.cs
- ContractHandle.cs
- SqlDataSourceStatusEventArgs.cs
- SoapFormatterSinks.cs
- DrawingContextDrawingContextWalker.cs
- Material.cs
- IDQuery.cs
- WebPartConnectionsCloseVerb.cs
- XmlDocumentType.cs
- InputMethod.cs
- HttpClientCertificate.cs
- AbstractDataSvcMapFileLoader.cs
- TryCatchDesigner.xaml.cs
- DataGridViewColumnCollection.cs
- DockingAttribute.cs
- BooleanToVisibilityConverter.cs
- ShadowGlyph.cs
- WebPartPersonalization.cs
- DataBoundControlHelper.cs
- CustomCredentialPolicy.cs
- AsymmetricKeyExchangeDeformatter.cs
- ValueCollectionParameterReader.cs
- TextTreeDeleteContentUndoUnit.cs
- OracleDateTime.cs
- CommandLibraryHelper.cs
- RowParagraph.cs
- Matrix.cs
- RadioButtonRenderer.cs
- WebConfigurationHostFileChange.cs
- RegisteredArrayDeclaration.cs
- DataTemplateKey.cs
- WorkflowViewService.cs
- EntityRecordInfo.cs
- ResizeBehavior.cs
- ConnectionOrientedTransportElement.cs
- GeneratedContractType.cs
- BitArray.cs
- ResourcesGenerator.cs
- RemotingServices.cs
- SlipBehavior.cs
- PrivilegedConfigurationManager.cs
- ColumnMapCopier.cs
- Point4D.cs
- WS2007HttpBindingCollectionElement.cs
- MetadataArtifactLoaderCompositeFile.cs
- GridViewColumnHeaderAutomationPeer.cs
- EventProviderClassic.cs
- CompiledRegexRunnerFactory.cs
- VisualTreeHelper.cs
- DataGridItem.cs
- CalendarModeChangedEventArgs.cs
- DynamicILGenerator.cs
- WindowsTreeView.cs
- CommandEventArgs.cs
- FileSystemEventArgs.cs
- StatusBar.cs
- PeerNameResolver.cs
- WorkflowCommandExtensionItem.cs
- RecordBuilder.cs
- ToolstripProfessionalRenderer.cs
- path.cs
- ZipIOBlockManager.cs
- CroppedBitmap.cs
- TargetConverter.cs
- DBBindings.cs
- OrCondition.cs
- DLinqDataModelProvider.cs
- BindingSource.cs
- TraceFilter.cs
- SimpleWorkerRequest.cs
- ElementNotAvailableException.cs
- CheckBoxList.cs
- Transform3D.cs
- AnnotationAdorner.cs
- ScaleTransform.cs
- DesignerHierarchicalDataSourceView.cs