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
- TextServicesManager.cs
- Style.cs
- InternalRelationshipCollection.cs
- XmlTextReaderImpl.cs
- DataServiceRequestException.cs
- DataControlFieldTypeEditor.cs
- ComboBoxItem.cs
- Control.cs
- ChangeConflicts.cs
- ContractDescription.cs
- GroupQuery.cs
- PriorityQueue.cs
- DataPagerFieldCommandEventArgs.cs
- RowToParametersTransformer.cs
- AccessDataSourceView.cs
- X509Chain.cs
- GroupItemAutomationPeer.cs
- PropertyEmitterBase.cs
- ValidationSummary.cs
- streamingZipPartStream.cs
- Task.cs
- TableLayoutPanel.cs
- DataBoundControlDesigner.cs
- StrongNameIdentityPermission.cs
- GraphicsState.cs
- StorageMappingItemCollection.cs
- DesignerResources.cs
- LabelLiteral.cs
- TargetInvocationException.cs
- ConfigXmlCDataSection.cs
- UITypeEditor.cs
- SqlCacheDependencySection.cs
- CodeStatementCollection.cs
- DataRecordInternal.cs
- SqlVisitor.cs
- OleDbTransaction.cs
- CommonGetThemePartSize.cs
- SQLDateTime.cs
- ClipboardData.cs
- VariableDesigner.xaml.cs
- XamlClipboardData.cs
- LinqDataSourceEditData.cs
- FlowDocumentPageViewerAutomationPeer.cs
- ObjectRef.cs
- WebSysDescriptionAttribute.cs
- CodeLabeledStatement.cs
- EventItfInfo.cs
- DecimalKeyFrameCollection.cs
- ContentPresenter.cs
- KeyboardNavigation.cs
- OptionalMessageQuery.cs
- BatchServiceHost.cs
- IERequestCache.cs
- RemoteWebConfigurationHostServer.cs
- DropShadowEffect.cs
- TabRenderer.cs
- FlowDocument.cs
- CodeLinePragma.cs
- DecimalKeyFrameCollection.cs
- StorageEntitySetMapping.cs
- TemplateApplicationHelper.cs
- MembershipAdapter.cs
- SettingsPropertyCollection.cs
- StrokeDescriptor.cs
- StateRuntime.cs
- TrustSection.cs
- PtsHost.cs
- ImmComposition.cs
- TableRowCollection.cs
- AutomationProperty.cs
- SettingsPropertyCollection.cs
- BindUriHelper.cs
- PickDesigner.xaml.cs
- DesignerTransactionCloseEvent.cs
- autovalidator.cs
- ProcessInputEventArgs.cs
- XmlSchemaAttributeGroup.cs
- AmbientEnvironment.cs
- Config.cs
- FixedSOMPageElement.cs
- WebPartConnection.cs
- CodeMemberMethod.cs
- BindingManagerDataErrorEventArgs.cs
- BuilderInfo.cs
- ImageSourceConverter.cs
- CharUnicodeInfo.cs
- CryptoHelper.cs
- StateRuntime.cs
- ArrayWithOffset.cs
- WindowsScrollBarBits.cs
- FrameAutomationPeer.cs
- DataObjectMethodAttribute.cs
- TextParagraph.cs
- SelectionUIHandler.cs
- BindStream.cs
- LookupTables.cs
- WorkflowDesigner.cs
- EntityCommandDefinition.cs
- XpsFilter.cs
- OptimizedTemplateContent.cs