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
- DockPanel.cs
- SqlProvider.cs
- CapiSymmetricAlgorithm.cs
- RequestUriProcessor.cs
- Activator.cs
- SystemIcmpV6Statistics.cs
- InkCanvasAutomationPeer.cs
- MD5HashHelper.cs
- EntityFrameworkVersions.cs
- ExceptionHandler.cs
- DBConnection.cs
- WebPartVerb.cs
- SecurityHeaderElementInferenceEngine.cs
- OverflowException.cs
- FontEmbeddingManager.cs
- SwitchAttribute.cs
- SettingsAttributes.cs
- SendMessageRecord.cs
- DropShadowBitmapEffect.cs
- DataListItem.cs
- Point3DCollectionConverter.cs
- MenuBase.cs
- _DomainName.cs
- SqlTypeConverter.cs
- RayMeshGeometry3DHitTestResult.cs
- ValueUnavailableException.cs
- EncoderExceptionFallback.cs
- LinkedList.cs
- UnSafeCharBuffer.cs
- OverrideMode.cs
- ApplicationFileCodeDomTreeGenerator.cs
- TextElementEnumerator.cs
- SrgsSemanticInterpretationTag.cs
- WebScriptServiceHostFactory.cs
- OraclePermissionAttribute.cs
- QilValidationVisitor.cs
- COM2ICategorizePropertiesHandler.cs
- ModulesEntry.cs
- Authorization.cs
- InvalidDataException.cs
- DbCommandDefinition.cs
- ParameterModifier.cs
- EntityDataSourceWrapper.cs
- StylusPointCollection.cs
- VectorCollectionConverter.cs
- LambdaCompiler.Unary.cs
- CompositionTarget.cs
- TreeView.cs
- TaskFormBase.cs
- BufferedOutputStream.cs
- PipelineDeploymentState.cs
- SafeViewOfFileHandle.cs
- ProcessHostMapPath.cs
- IdentityReference.cs
- XmlNamespaceMappingCollection.cs
- contentDescriptor.cs
- TextTreeExtractElementUndoUnit.cs
- XmlSerializerNamespaces.cs
- ElementNotEnabledException.cs
- ContourSegment.cs
- SecurityAppliedMessage.cs
- QuaternionValueSerializer.cs
- SafeMILHandle.cs
- CompilerCollection.cs
- DataMemberListEditor.cs
- Package.cs
- SmiRecordBuffer.cs
- PeerCredential.cs
- QueryOutputWriter.cs
- MenuItemCollection.cs
- CursorConverter.cs
- DataGridViewIntLinkedList.cs
- UnsafeNativeMethods.cs
- StackBuilderSink.cs
- Adorner.cs
- TextBoxBase.cs
- UserControl.cs
- DependencyPropertyAttribute.cs
- EntityDataSourceContextDisposingEventArgs.cs
- RadioButton.cs
- ObjectReaderCompiler.cs
- ConfigPathUtility.cs
- MonthCalendar.cs
- WindowsTitleBar.cs
- TraceListener.cs
- EncodingTable.cs
- Validator.cs
- ColorAnimationBase.cs
- TypeInfo.cs
- OleDbError.cs
- StreamingContext.cs
- VirtualPathProvider.cs
- WizardStepBase.cs
- EFTableProvider.cs
- Win32.cs
- EntityCommand.cs
- TraceContextEventArgs.cs
- HttpApplicationFactory.cs
- Regex.cs
- PointValueSerializer.cs