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
- Menu.cs
- DesignerTransactionCloseEvent.cs
- XsltLoader.cs
- PointUtil.cs
- QuaternionAnimationBase.cs
- BitmapFrameEncode.cs
- DataSourceView.cs
- ByteFacetDescriptionElement.cs
- LinqTreeNodeEvaluator.cs
- _NtlmClient.cs
- TreeWalkHelper.cs
- CannotUnloadAppDomainException.cs
- SHA256Managed.cs
- Component.cs
- HttpRequestContext.cs
- HttpResponseHeader.cs
- ReversePositionQuery.cs
- PrimarySelectionAdorner.cs
- XmlUtf8RawTextWriter.cs
- SqlConnectionManager.cs
- SchemaObjectWriter.cs
- BookmarkList.cs
- ContextMenu.cs
- SoundPlayer.cs
- WebPartMinimizeVerb.cs
- DBProviderConfigurationHandler.cs
- RightsManagementEncryptionTransform.cs
- JsonFormatGeneratorStatics.cs
- ComplexLine.cs
- OdbcDataAdapter.cs
- PageBreakRecord.cs
- Selection.cs
- TextParagraph.cs
- PngBitmapEncoder.cs
- DashStyles.cs
- Win32.cs
- MaskInputRejectedEventArgs.cs
- DbConnectionPoolGroup.cs
- DataGridViewHitTestInfo.cs
- InitializationEventAttribute.cs
- ImageMetadata.cs
- OrderingExpression.cs
- _PooledStream.cs
- PaperSource.cs
- HttpCachePolicy.cs
- TypeConverterMarkupExtension.cs
- BuilderElements.cs
- EncodingDataItem.cs
- DateTimeConverter.cs
- ProfileEventArgs.cs
- WmlListAdapter.cs
- TaiwanLunisolarCalendar.cs
- WSSecurityJan2004.cs
- ZipIOLocalFileDataDescriptor.cs
- HwndKeyboardInputProvider.cs
- EntityDesignerUtils.cs
- ResourceContainerWrapper.cs
- Pair.cs
- IgnoreFileBuildProvider.cs
- UniqueConstraint.cs
- Message.cs
- CssTextWriter.cs
- XmlDataImplementation.cs
- ErrorHandlerModule.cs
- Maps.cs
- SafeNativeMethods.cs
- UtilityExtension.cs
- AttachedProperty.cs
- NodeLabelEditEvent.cs
- ArraySubsetEnumerator.cs
- PageSetupDialog.cs
- PointHitTestParameters.cs
- XmlSchemaInfo.cs
- PropertyIDSet.cs
- HyperLink.cs
- Parameter.cs
- FixedSOMGroup.cs
- EditorZoneDesigner.cs
- SelectionChangedEventArgs.cs
- EditingMode.cs
- BackStopAuthenticationModule.cs
- odbcmetadatafactory.cs
- DataGridItem.cs
- MetadataItemEmitter.cs
- MbpInfo.cs
- XmlUnspecifiedAttribute.cs
- PropertyBuilder.cs
- EntitySetBase.cs
- InfocardClientCredentials.cs
- TextEditorParagraphs.cs
- SqlRowUpdatingEvent.cs
- WorkflowRuntime.cs
- FragmentQueryKB.cs
- GridViewPageEventArgs.cs
- DebugController.cs
- SimpleLine.cs
- RangeExpression.cs
- ClientTarget.cs
- NamespaceMapping.cs
- HttpEncoder.cs