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
- TypeSystemHelpers.cs
- MailMessageEventArgs.cs
- MachineKeyValidationConverter.cs
- TypefaceCollection.cs
- TextDecorationCollection.cs
- XmlSchemaObject.cs
- DirectoryInfo.cs
- CodeTypeReference.cs
- SelectionManager.cs
- SQLDecimal.cs
- DoubleStorage.cs
- BuildManager.cs
- ExpressionBuilder.cs
- DesignerDataRelationship.cs
- UnknownWrapper.cs
- ITextView.cs
- ToolBarPanel.cs
- SystemUnicastIPAddressInformation.cs
- RequestUriProcessor.cs
- QuaternionKeyFrameCollection.cs
- HierarchicalDataSourceControl.cs
- FtpCachePolicyElement.cs
- DataMisalignedException.cs
- TransformPatternIdentifiers.cs
- PasswordRecovery.cs
- SafeRightsManagementQueryHandle.cs
- AuthenticationModulesSection.cs
- ByeMessage11.cs
- TextDecorationLocationValidation.cs
- EmptyStringExpandableObjectConverter.cs
- Executor.cs
- XmlKeywords.cs
- ProxyFragment.cs
- TextTrailingWordEllipsis.cs
- IODescriptionAttribute.cs
- SqlNotificationRequest.cs
- DataServiceQueryOfT.cs
- TextServicesProperty.cs
- AnyReturnReader.cs
- OAVariantLib.cs
- XappLauncher.cs
- EntityDataSourceStatementEditor.cs
- DocumentViewerHelper.cs
- DataControlLinkButton.cs
- HandleRef.cs
- XmlSchemaGroupRef.cs
- DllNotFoundException.cs
- HyperlinkAutomationPeer.cs
- Baml2006ReaderFrame.cs
- ColumnHeaderCollectionEditor.cs
- GetWorkflowTree.cs
- OleDbDataReader.cs
- ObservableCollection.cs
- XmlSchemaAttributeGroup.cs
- Funcletizer.cs
- recordstatescratchpad.cs
- TemplatedControlDesigner.cs
- VersionPair.cs
- DataGridAddNewRow.cs
- JavaScriptObjectDeserializer.cs
- ConstructorBuilder.cs
- ThousandthOfEmRealDoubles.cs
- EFDataModelProvider.cs
- SystemIcmpV4Statistics.cs
- Vector3DConverter.cs
- PcmConverter.cs
- CodeStatement.cs
- TransformPattern.cs
- RuleInfoComparer.cs
- AttributeQuery.cs
- RelationshipConstraintValidator.cs
- RadioButtonList.cs
- BamlWriter.cs
- TableLayout.cs
- StaticSiteMapProvider.cs
- DispatcherSynchronizationContext.cs
- SystemIPv4InterfaceProperties.cs
- ObjectCloneHelper.cs
- WebServiceAttribute.cs
- ResourceExpressionBuilder.cs
- CompileLiteralTextParser.cs
- AnnotationDocumentPaginator.cs
- MailDefinition.cs
- BypassElement.cs
- ObjectDesignerDataSourceView.cs
- DateTimeValueSerializerContext.cs
- StrongTypingException.cs
- PolicyException.cs
- ListViewInsertionMark.cs
- PermissionSet.cs
- GradientStopCollection.cs
- ExpressionVisitor.cs
- PrimitiveCodeDomSerializer.cs
- XmlElementList.cs
- InputMethodStateTypeInfo.cs
- SchemaImporterExtension.cs
- _ChunkParse.cs
- SHA512Managed.cs
- CapiSymmetricAlgorithm.cs
- CurrencyWrapper.cs