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
- ChannelDispatcherCollection.cs
- HandleTable.cs
- ManipulationDelta.cs
- UserControl.cs
- UrlEncodedParameterWriter.cs
- UniformGrid.cs
- UniqueContractNameValidationBehavior.cs
- DrawingContext.cs
- RequestCache.cs
- ArrayTypeMismatchException.cs
- ValueOfAction.cs
- FocusTracker.cs
- EmptyReadOnlyDictionaryInternal.cs
- HashAlgorithm.cs
- LocalizedNameDescriptionPair.cs
- InvalidWMPVersionException.cs
- RectangleGeometry.cs
- NavigatorOutput.cs
- HTMLTextWriter.cs
- UserNameSecurityTokenAuthenticator.cs
- TypeConverterHelper.cs
- IApplicationTrustManager.cs
- StreamGeometry.cs
- OutputCache.cs
- ScriptIgnoreAttribute.cs
- ResolveNameEventArgs.cs
- BaseConfigurationRecord.cs
- XmlMtomReader.cs
- ValueTypeFixupInfo.cs
- BidPrivateBase.cs
- OpCodes.cs
- CommentEmitter.cs
- AutomationIdentifier.cs
- Path.cs
- FamilyMapCollection.cs
- NativeMethods.cs
- Solver.cs
- DefaultTextStoreTextComposition.cs
- TransformValueSerializer.cs
- PluralizationService.cs
- XsltQilFactory.cs
- DataControlFieldCell.cs
- EnumUnknown.cs
- SafeLibraryHandle.cs
- DefaultPerformanceCounters.cs
- WebPartsSection.cs
- MessageQueueAccessControlEntry.cs
- CodeMethodInvokeExpression.cs
- ContainerParaClient.cs
- ServiceModelConfigurationElementCollection.cs
- ListSourceHelper.cs
- ClientSettingsStore.cs
- TraceSwitch.cs
- InvalidPropValue.cs
- DbProviderServices.cs
- ReadOnlyHierarchicalDataSourceView.cs
- ClientEventManager.cs
- NetMsmqSecurity.cs
- CapacityStreamGeometryContext.cs
- InputProviderSite.cs
- SqlDataSourceCommandParser.cs
- XmlComplianceUtil.cs
- TdsParserStaticMethods.cs
- FileRecordSequenceHelper.cs
- RoleGroupCollection.cs
- xdrvalidator.cs
- SystemInfo.cs
- EventBuilder.cs
- InstanceLockLostException.cs
- SiteMapNodeCollection.cs
- PathFigureCollectionConverter.cs
- DispatcherExceptionEventArgs.cs
- TraceSwitch.cs
- XmlIterators.cs
- ClickablePoint.cs
- BeginStoryboard.cs
- FindSimilarActivitiesVerb.cs
- NamespaceDecl.cs
- CheckBox.cs
- GacUtil.cs
- PageAsyncTask.cs
- XmlSchemaSimpleContentRestriction.cs
- TextRangeEditTables.cs
- MembershipUser.cs
- PartialCachingAttribute.cs
- RijndaelCryptoServiceProvider.cs
- DateTimeFormatInfoScanner.cs
- XmlAttributeCollection.cs
- SyndicationSerializer.cs
- StylusPlugin.cs
- EditingCommands.cs
- ReflectionPermission.cs
- RepeaterCommandEventArgs.cs
- NumericUpDownAcceleration.cs
- TraceProvider.cs
- CatalogPartCollection.cs
- ObjectListCommandsPage.cs
- dataSvcMapFileLoader.cs
- Math.cs
- Connector.xaml.cs