Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / fx / src / Xml / System / Xml / Serialization / XmlAttributes.cs / 1 / XmlAttributes.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- namespace System.Xml.Serialization { using System; using System.Reflection; using System.Collections; using System.ComponentModel; internal enum XmlAttributeFlags { Enum = 0x1, Array = 0x2, Text = 0x4, ArrayItems = 0x8, Elements = 0x10, Attribute = 0x20, Root = 0x40, Type = 0x80, AnyElements = 0x100, AnyAttribute = 0x200, ChoiceIdentifier = 0x400, XmlnsDeclarations = 0x800, } ////// /// public class XmlAttributes { XmlElementAttributes xmlElements = new XmlElementAttributes(); XmlArrayItemAttributes xmlArrayItems = new XmlArrayItemAttributes(); XmlAnyElementAttributes xmlAnyElements = new XmlAnyElementAttributes(); XmlArrayAttribute xmlArray; XmlAttributeAttribute xmlAttribute; XmlTextAttribute xmlText; XmlEnumAttribute xmlEnum; bool xmlIgnore; bool xmlns; object xmlDefaultValue = null; XmlRootAttribute xmlRoot; XmlTypeAttribute xmlType; XmlAnyAttributeAttribute xmlAnyAttribute; XmlChoiceIdentifierAttribute xmlChoiceIdentifier; static Type ignoreAttributeType; ///[To be supplied.] ////// /// public XmlAttributes() { } internal XmlAttributeFlags XmlFlags { get { XmlAttributeFlags flags = 0; if (xmlElements.Count > 0) flags |= XmlAttributeFlags.Elements; if (xmlArrayItems.Count > 0) flags |= XmlAttributeFlags.ArrayItems; if (xmlAnyElements.Count > 0) flags |= XmlAttributeFlags.AnyElements; if (xmlArray != null) flags |= XmlAttributeFlags.Array; if (xmlAttribute != null) flags |= XmlAttributeFlags.Attribute; if (xmlText != null) flags |= XmlAttributeFlags.Text; if (xmlEnum != null) flags |= XmlAttributeFlags.Enum; if (xmlRoot != null) flags |= XmlAttributeFlags.Root; if (xmlType != null) flags |= XmlAttributeFlags.Type; if (xmlAnyAttribute != null) flags |= XmlAttributeFlags.AnyAttribute; if (xmlChoiceIdentifier != null) flags |= XmlAttributeFlags.ChoiceIdentifier; if (xmlns) flags |= XmlAttributeFlags.XmlnsDeclarations; return flags; } } private static Type IgnoreAttribute { get { if (ignoreAttributeType == null) { ignoreAttributeType = typeof(object).Assembly.GetType("System.XmlIgnoreMemberAttribute"); if (ignoreAttributeType == null) { ignoreAttributeType = typeof(XmlIgnoreAttribute); } } return ignoreAttributeType; } } ///[To be supplied.] ////// /// public XmlAttributes(ICustomAttributeProvider provider) { object[] attrs = provider.GetCustomAttributes(false); // most generic[To be supplied.] ///matches everithig XmlAnyElementAttribute wildcard = null; for (int i = 0; i < attrs.Length; i++) { if (attrs[i] is XmlIgnoreAttribute || attrs[i] is ObsoleteAttribute || attrs[i].GetType() == IgnoreAttribute) { xmlIgnore = true; break; } else if (attrs[i] is XmlElementAttribute) { this.xmlElements.Add((XmlElementAttribute)attrs[i]); } else if (attrs[i] is XmlArrayItemAttribute) { this.xmlArrayItems.Add((XmlArrayItemAttribute)attrs[i]); } else if (attrs[i] is XmlAnyElementAttribute) { XmlAnyElementAttribute any = (XmlAnyElementAttribute)attrs[i]; if ((any.Name == null || any.Name.Length == 0) && any.NamespaceSpecified && any.Namespace == null) { // ignore duplicate wildcards wildcard = any; } else { this.xmlAnyElements.Add((XmlAnyElementAttribute)attrs[i]); } } else if (attrs[i] is DefaultValueAttribute) { this.xmlDefaultValue = ((DefaultValueAttribute)attrs[i]).Value; } else if (attrs[i] is XmlAttributeAttribute) { this.xmlAttribute = (XmlAttributeAttribute)attrs[i]; } else if (attrs[i] is XmlArrayAttribute) { this.xmlArray = (XmlArrayAttribute)attrs[i]; } else if (attrs[i] is XmlTextAttribute) { this.xmlText = (XmlTextAttribute)attrs[i]; } else if (attrs[i] is XmlEnumAttribute) { this.xmlEnum = (XmlEnumAttribute)attrs[i]; } else if (attrs[i] is XmlRootAttribute) { this.xmlRoot = (XmlRootAttribute)attrs[i]; } else if (attrs[i] is XmlTypeAttribute) { this.xmlType = (XmlTypeAttribute)attrs[i]; } else if (attrs[i] is XmlAnyAttributeAttribute) { this.xmlAnyAttribute = (XmlAnyAttributeAttribute)attrs[i]; } else if (attrs[i] is XmlChoiceIdentifierAttribute) { this.xmlChoiceIdentifier = (XmlChoiceIdentifierAttribute)attrs[i]; } else if (attrs[i] is XmlNamespaceDeclarationsAttribute) { this.xmlns = true; } } if (xmlIgnore) { this.xmlElements.Clear(); this.xmlArrayItems.Clear(); this.xmlAnyElements.Clear(); this.xmlDefaultValue = null; this.xmlAttribute = null; this.xmlArray = null; this.xmlText = null; this.xmlEnum = null; this.xmlType = null; this.xmlAnyAttribute = null; this.xmlChoiceIdentifier = null; this.xmlns = false; } else { if (wildcard != null) { this.xmlAnyElements.Add(wildcard); } } } internal static object GetAttr(ICustomAttributeProvider provider, Type attrType) { object[] attrs = provider.GetCustomAttributes(attrType, false); if (attrs.Length == 0) return null; return attrs[0]; } /// /// /// public XmlElementAttributes XmlElements { get { return xmlElements; } } ///[To be supplied.] ////// /// public XmlAttributeAttribute XmlAttribute { get { return xmlAttribute; } set { xmlAttribute = value; } } ///[To be supplied.] ////// /// public XmlEnumAttribute XmlEnum { get { return xmlEnum; } set { xmlEnum = value; } } ///[To be supplied.] ////// /// public XmlTextAttribute XmlText { get { return xmlText; } set { xmlText = value; } } ///[To be supplied.] ////// /// public XmlArrayAttribute XmlArray { get { return xmlArray; } set { xmlArray = value; } } ///[To be supplied.] ////// /// public XmlArrayItemAttributes XmlArrayItems { get { return xmlArrayItems; } } ///[To be supplied.] ////// /// public object XmlDefaultValue { get { return xmlDefaultValue; } set { xmlDefaultValue = value; } } ///[To be supplied.] ////// /// public bool XmlIgnore { get { return xmlIgnore; } set { xmlIgnore = value; } } ///[To be supplied.] ////// /// public XmlTypeAttribute XmlType { get { return xmlType; } set { xmlType = value; } } ///[To be supplied.] ////// /// public XmlRootAttribute XmlRoot { get { return xmlRoot; } set { xmlRoot = value; } } ///[To be supplied.] ////// /// public XmlAnyElementAttributes XmlAnyElements { get { return xmlAnyElements; } } ///[To be supplied.] ////// /// public XmlAnyAttributeAttribute XmlAnyAttribute { get { return xmlAnyAttribute; } set { xmlAnyAttribute = value; } } ///[To be supplied.] ///public XmlChoiceIdentifierAttribute XmlChoiceIdentifier { get { return xmlChoiceIdentifier; } } /// /// /// public bool Xmlns { get { return xmlns; } set { xmlns = value; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //[To be supplied.] ///// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- namespace System.Xml.Serialization { using System; using System.Reflection; using System.Collections; using System.ComponentModel; internal enum XmlAttributeFlags { Enum = 0x1, Array = 0x2, Text = 0x4, ArrayItems = 0x8, Elements = 0x10, Attribute = 0x20, Root = 0x40, Type = 0x80, AnyElements = 0x100, AnyAttribute = 0x200, ChoiceIdentifier = 0x400, XmlnsDeclarations = 0x800, } ////// /// public class XmlAttributes { XmlElementAttributes xmlElements = new XmlElementAttributes(); XmlArrayItemAttributes xmlArrayItems = new XmlArrayItemAttributes(); XmlAnyElementAttributes xmlAnyElements = new XmlAnyElementAttributes(); XmlArrayAttribute xmlArray; XmlAttributeAttribute xmlAttribute; XmlTextAttribute xmlText; XmlEnumAttribute xmlEnum; bool xmlIgnore; bool xmlns; object xmlDefaultValue = null; XmlRootAttribute xmlRoot; XmlTypeAttribute xmlType; XmlAnyAttributeAttribute xmlAnyAttribute; XmlChoiceIdentifierAttribute xmlChoiceIdentifier; static Type ignoreAttributeType; ///[To be supplied.] ////// /// public XmlAttributes() { } internal XmlAttributeFlags XmlFlags { get { XmlAttributeFlags flags = 0; if (xmlElements.Count > 0) flags |= XmlAttributeFlags.Elements; if (xmlArrayItems.Count > 0) flags |= XmlAttributeFlags.ArrayItems; if (xmlAnyElements.Count > 0) flags |= XmlAttributeFlags.AnyElements; if (xmlArray != null) flags |= XmlAttributeFlags.Array; if (xmlAttribute != null) flags |= XmlAttributeFlags.Attribute; if (xmlText != null) flags |= XmlAttributeFlags.Text; if (xmlEnum != null) flags |= XmlAttributeFlags.Enum; if (xmlRoot != null) flags |= XmlAttributeFlags.Root; if (xmlType != null) flags |= XmlAttributeFlags.Type; if (xmlAnyAttribute != null) flags |= XmlAttributeFlags.AnyAttribute; if (xmlChoiceIdentifier != null) flags |= XmlAttributeFlags.ChoiceIdentifier; if (xmlns) flags |= XmlAttributeFlags.XmlnsDeclarations; return flags; } } private static Type IgnoreAttribute { get { if (ignoreAttributeType == null) { ignoreAttributeType = typeof(object).Assembly.GetType("System.XmlIgnoreMemberAttribute"); if (ignoreAttributeType == null) { ignoreAttributeType = typeof(XmlIgnoreAttribute); } } return ignoreAttributeType; } } ///[To be supplied.] ////// /// public XmlAttributes(ICustomAttributeProvider provider) { object[] attrs = provider.GetCustomAttributes(false); // most generic[To be supplied.] ///matches everithig XmlAnyElementAttribute wildcard = null; for (int i = 0; i < attrs.Length; i++) { if (attrs[i] is XmlIgnoreAttribute || attrs[i] is ObsoleteAttribute || attrs[i].GetType() == IgnoreAttribute) { xmlIgnore = true; break; } else if (attrs[i] is XmlElementAttribute) { this.xmlElements.Add((XmlElementAttribute)attrs[i]); } else if (attrs[i] is XmlArrayItemAttribute) { this.xmlArrayItems.Add((XmlArrayItemAttribute)attrs[i]); } else if (attrs[i] is XmlAnyElementAttribute) { XmlAnyElementAttribute any = (XmlAnyElementAttribute)attrs[i]; if ((any.Name == null || any.Name.Length == 0) && any.NamespaceSpecified && any.Namespace == null) { // ignore duplicate wildcards wildcard = any; } else { this.xmlAnyElements.Add((XmlAnyElementAttribute)attrs[i]); } } else if (attrs[i] is DefaultValueAttribute) { this.xmlDefaultValue = ((DefaultValueAttribute)attrs[i]).Value; } else if (attrs[i] is XmlAttributeAttribute) { this.xmlAttribute = (XmlAttributeAttribute)attrs[i]; } else if (attrs[i] is XmlArrayAttribute) { this.xmlArray = (XmlArrayAttribute)attrs[i]; } else if (attrs[i] is XmlTextAttribute) { this.xmlText = (XmlTextAttribute)attrs[i]; } else if (attrs[i] is XmlEnumAttribute) { this.xmlEnum = (XmlEnumAttribute)attrs[i]; } else if (attrs[i] is XmlRootAttribute) { this.xmlRoot = (XmlRootAttribute)attrs[i]; } else if (attrs[i] is XmlTypeAttribute) { this.xmlType = (XmlTypeAttribute)attrs[i]; } else if (attrs[i] is XmlAnyAttributeAttribute) { this.xmlAnyAttribute = (XmlAnyAttributeAttribute)attrs[i]; } else if (attrs[i] is XmlChoiceIdentifierAttribute) { this.xmlChoiceIdentifier = (XmlChoiceIdentifierAttribute)attrs[i]; } else if (attrs[i] is XmlNamespaceDeclarationsAttribute) { this.xmlns = true; } } if (xmlIgnore) { this.xmlElements.Clear(); this.xmlArrayItems.Clear(); this.xmlAnyElements.Clear(); this.xmlDefaultValue = null; this.xmlAttribute = null; this.xmlArray = null; this.xmlText = null; this.xmlEnum = null; this.xmlType = null; this.xmlAnyAttribute = null; this.xmlChoiceIdentifier = null; this.xmlns = false; } else { if (wildcard != null) { this.xmlAnyElements.Add(wildcard); } } } internal static object GetAttr(ICustomAttributeProvider provider, Type attrType) { object[] attrs = provider.GetCustomAttributes(attrType, false); if (attrs.Length == 0) return null; return attrs[0]; } /// /// /// public XmlElementAttributes XmlElements { get { return xmlElements; } } ///[To be supplied.] ////// /// public XmlAttributeAttribute XmlAttribute { get { return xmlAttribute; } set { xmlAttribute = value; } } ///[To be supplied.] ////// /// public XmlEnumAttribute XmlEnum { get { return xmlEnum; } set { xmlEnum = value; } } ///[To be supplied.] ////// /// public XmlTextAttribute XmlText { get { return xmlText; } set { xmlText = value; } } ///[To be supplied.] ////// /// public XmlArrayAttribute XmlArray { get { return xmlArray; } set { xmlArray = value; } } ///[To be supplied.] ////// /// public XmlArrayItemAttributes XmlArrayItems { get { return xmlArrayItems; } } ///[To be supplied.] ////// /// public object XmlDefaultValue { get { return xmlDefaultValue; } set { xmlDefaultValue = value; } } ///[To be supplied.] ////// /// public bool XmlIgnore { get { return xmlIgnore; } set { xmlIgnore = value; } } ///[To be supplied.] ////// /// public XmlTypeAttribute XmlType { get { return xmlType; } set { xmlType = value; } } ///[To be supplied.] ////// /// public XmlRootAttribute XmlRoot { get { return xmlRoot; } set { xmlRoot = value; } } ///[To be supplied.] ////// /// public XmlAnyElementAttributes XmlAnyElements { get { return xmlAnyElements; } } ///[To be supplied.] ////// /// public XmlAnyAttributeAttribute XmlAnyAttribute { get { return xmlAnyAttribute; } set { xmlAnyAttribute = value; } } ///[To be supplied.] ///public XmlChoiceIdentifierAttribute XmlChoiceIdentifier { get { return xmlChoiceIdentifier; } } /// /// /// public bool Xmlns { get { return xmlns; } set { xmlns = value; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.[To be supplied.] ///
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- FullTextLine.cs
- XhtmlConformanceSection.cs
- QuaternionRotation3D.cs
- ExternalException.cs
- DigestComparer.cs
- WhiteSpaceTrimStringConverter.cs
- DoubleLinkList.cs
- UserPreferenceChangingEventArgs.cs
- SymbolTable.cs
- HttpHandlerActionCollection.cs
- XmlMembersMapping.cs
- TableRowCollection.cs
- ErrorView.xaml.cs
- TreeNodeBindingCollection.cs
- TypeUtil.cs
- ScaleTransform3D.cs
- TagMapCollection.cs
- WebPartConnectionCollection.cs
- Rect3DConverter.cs
- XmlDocument.cs
- LockedActivityGlyph.cs
- SynchronizationContext.cs
- PersonalizationStateInfo.cs
- JapaneseCalendar.cs
- ToolConsole.cs
- CapabilitiesPattern.cs
- MyContact.cs
- IsolatedStorageException.cs
- RawContentTypeMapper.cs
- Authorization.cs
- ContainsSearchOperator.cs
- _SslSessionsCache.cs
- ByteConverter.cs
- Hashtable.cs
- ManagementEventWatcher.cs
- StyleSheetComponentEditor.cs
- EasingQuaternionKeyFrame.cs
- SQLBoolean.cs
- HttpsHostedTransportConfiguration.cs
- IBuiltInEvidence.cs
- RowToFieldTransformer.cs
- DesignColumn.cs
- SafeProcessHandle.cs
- LayoutInformation.cs
- TextRunCache.cs
- XMLSyntaxException.cs
- CacheMemory.cs
- HiddenFieldDesigner.cs
- COMException.cs
- FilterUserControlBase.cs
- CryptoApi.cs
- GreenMethods.cs
- PoisonMessageException.cs
- DtdParser.cs
- BrowserCapabilitiesFactory.cs
- Stack.cs
- SiteMap.cs
- ExpressionConverter.cs
- DependencyObjectProvider.cs
- ValueType.cs
- SymDocumentType.cs
- StringPropertyBuilder.cs
- RectangleConverter.cs
- ConstraintManager.cs
- ListItemConverter.cs
- WindowsMenu.cs
- WindowsButton.cs
- HttpCacheParams.cs
- XmlNodeReader.cs
- AsyncResult.cs
- FormsAuthenticationConfiguration.cs
- ErrorHandler.cs
- EventSourceCreationData.cs
- CryptoApi.cs
- MetadataItemEmitter.cs
- PageStatePersister.cs
- HiddenField.cs
- TransformedBitmap.cs
- Point4DValueSerializer.cs
- TextEditorMouse.cs
- GenericsNotImplementedException.cs
- DataServiceQueryOfT.cs
- PatternMatcher.cs
- ResourceKey.cs
- ScriptRegistrationManager.cs
- TriggerBase.cs
- SystemPens.cs
- StrokeCollectionDefaultValueFactory.cs
- CancelEventArgs.cs
- PropertyBuilder.cs
- HttpPostClientProtocol.cs
- DataConnectionHelper.cs
- CombinedTcpChannel.cs
- PrimitiveXmlSerializers.cs
- ThemeableAttribute.cs
- MenuItemAutomationPeer.cs
- Msmq4SubqueuePoisonHandler.cs
- ISAPIRuntime.cs
- ExternalFile.cs
- AutomationPeer.cs