public void DataTypeDefault () { XmlTextAttribute attr = new XmlTextAttribute (); Assert.AreEqual (string.Empty, attr.DataType, "#1"); attr.DataType = null; Assert.AreEqual (string.Empty, attr.DataType, "#2"); }
public XmlTextAttribute GetTextAttribute() { XmlTextAttribute attr = new XmlTextAttribute(); if (this.Type != null) { attr.Type = this.Type; } return attr; }
public void SameType() { XmlTextAttribute text1 = new XmlTextAttribute(typeof(SerializeMe)); XmlTextAttribute text2 = new XmlTextAttribute(typeof(SerializeMe)); atts1.XmlText = text1; atts2.XmlText = text2; ov1.Add(typeof(SerializeMe), atts1); ov2.Add(typeof(SerializeMe), atts2); ThumbprintHelpers.SameThumbprint(ov1,ov2); }
public void DifferentTypes() { XmlTextAttribute text1 = new XmlTextAttribute(typeof(SerializeMe)); XmlTextAttribute text2 = new XmlTextAttribute(typeof(SerializeMeToo)); atts1.XmlText = text1; atts2.XmlText = text2; ov1.Add(typeof(SerializeMe), atts1); ov2.Add(typeof(SerializeMe), atts2); ThumbprintHelpers.DifferentThumbprint(ov1, ov2); }
/// <include file='doc\XmlAttributes.uex' path='docs/doc[@for="XmlAttributes.XmlAttributes1"]/*' /> /// <devdoc> /// <para>[To be supplied.]</para> /// </devdoc> public XmlAttributes(ICustomAttributeProvider provider) { xmlIgnore = GetAttr(provider, typeof(XmlIgnoreAttribute)) != null; if (!xmlIgnore) { object[] attrs = provider.GetCustomAttributes(typeof(XmlElementAttribute), false); for (int i = 0; i < attrs.Length; i++) { this.xmlElements.Add((XmlElementAttribute)attrs[i]); } attrs = provider.GetCustomAttributes(typeof(XmlArrayItemAttribute), false); for (int i = 0; i < attrs.Length; i++) { this.xmlArrayItems.Add((XmlArrayItemAttribute)attrs[i]); } attrs = provider.GetCustomAttributes(typeof(XmlAnyElementAttribute), false); for (int i = 0; i < attrs.Length; i++) { this.xmlAnyElements.Add((XmlAnyElementAttribute)attrs[i]); } DefaultValueAttribute defaultValueAttribute = (DefaultValueAttribute)GetAttr(provider, typeof(DefaultValueAttribute)); if (defaultValueAttribute != null) { xmlDefaultValue = defaultValueAttribute.Value; } xmlAttribute = (XmlAttributeAttribute)GetAttr(provider, typeof(XmlAttributeAttribute)); xmlArray = (XmlArrayAttribute)GetAttr(provider, typeof(XmlArrayAttribute)); xmlText = (XmlTextAttribute)GetAttr(provider, typeof(XmlTextAttribute)); xmlEnum = (XmlEnumAttribute)GetAttr(provider, typeof(XmlEnumAttribute)); xmlRoot = (XmlRootAttribute)GetAttr(provider, typeof(XmlRootAttribute)); xmlType = (XmlTypeAttribute)GetAttr(provider, typeof(XmlTypeAttribute)); xmlAnyAttribute = (XmlAnyAttributeAttribute)GetAttr(provider, typeof(XmlAnyAttributeAttribute)); xmlChoiceIdentifier = (XmlChoiceIdentifierAttribute)GetAttr(provider, typeof(XmlChoiceIdentifierAttribute)); xmlns = GetAttr(provider, typeof(XmlNamespaceDeclarationsAttribute)) != null; } }
public void DifferentDataTypes() { XmlTextAttribute text1 = new XmlTextAttribute(); text1.DataType = "xmltype1"; XmlTextAttribute text2 = new XmlTextAttribute(); text2.DataType = "xmltype2"; atts1.XmlText = text1; atts2.XmlText = text2; ov1.Add(typeof(SerializeMe), atts1); ov2.Add(typeof(SerializeMe), atts2); ThumbprintHelpers.DifferentThumbprint(ov1, ov2); }
public XmlAttributes(ICustomAttributeProvider provider) { object[] attributes = provider.GetCustomAttributes(false); foreach (object obj in attributes) { if (obj is XmlAnyAttributeAttribute) { xmlAnyAttribute = (XmlAnyAttributeAttribute)obj; } else if (obj is XmlAnyElementAttribute) { xmlAnyElements.Add((XmlAnyElementAttribute)obj); } else if (obj is XmlArrayAttribute) { xmlArray = (XmlArrayAttribute)obj; } else if (obj is XmlArrayItemAttribute) { xmlArrayItems.Add((XmlArrayItemAttribute)obj); } else if (obj is XmlAttributeAttribute) { xmlAttribute = (XmlAttributeAttribute)obj; } else if (obj is XmlChoiceIdentifierAttribute) { xmlChoiceIdentifier = (XmlChoiceIdentifierAttribute)obj; } else if (obj is DefaultValueAttribute) { xmlDefaultValue = ((DefaultValueAttribute)obj).Value; } else if (obj is XmlElementAttribute) { xmlElements.Add((XmlElementAttribute )obj); } else if (obj is XmlEnumAttribute) { xmlEnum = (XmlEnumAttribute)obj; } else if (obj is XmlIgnoreAttribute) { xmlIgnore = true; } else if (obj is XmlNamespaceDeclarationsAttribute) { xmlns = true; } else if (obj is XmlRootAttribute) { xmlRoot = (XmlRootAttribute)obj; } else if (obj is XmlTextAttribute) { xmlText = (XmlTextAttribute)obj; } else if (obj is XmlTypeAttribute) { xmlType = (XmlTypeAttribute)obj; } } if (xmlIgnore) { xmlAnyAttribute = null; xmlAnyElements.Clear(); xmlArray = null; xmlArrayItems.Clear(); xmlAttribute = null; xmlChoiceIdentifier = null; xmlDefaultValue = null; xmlElements.Clear(); xmlEnum = null; xmlns = false; xmlRoot = null; xmlText = null; xmlType = null; } }
public XmlAttributes (ICustomAttributeProvider provider) { object[] attributes = provider.GetCustomAttributes(false); foreach(object obj in attributes) { if(obj is XmlAnyAttributeAttribute) xmlAnyAttribute = (XmlAnyAttributeAttribute) obj; else if(obj is XmlAnyElementAttribute) xmlAnyElements.Add((XmlAnyElementAttribute) obj); else if(obj is XmlArrayAttribute) xmlArray = (XmlArrayAttribute) obj; else if(obj is XmlArrayItemAttribute) xmlArrayItems.Add((XmlArrayItemAttribute) obj); else if(obj is XmlAttributeAttribute) xmlAttribute = (XmlAttributeAttribute) obj; else if(obj is XmlChoiceIdentifierAttribute) xmlChoiceIdentifier = (XmlChoiceIdentifierAttribute) obj; else if(obj is DefaultValueAttribute) xmlDefaultValue = ((DefaultValueAttribute)obj).Value; else if(obj is XmlElementAttribute ) xmlElements.Add((XmlElementAttribute ) obj); else if(obj is XmlEnumAttribute) xmlEnum = (XmlEnumAttribute) obj; else if(obj is XmlIgnoreAttribute) xmlIgnore = true; else if(obj is XmlNamespaceDeclarationsAttribute) xmlns = true; else if(obj is XmlRootAttribute) xmlRoot = (XmlRootAttribute) obj; else if(obj is XmlTextAttribute) xmlText = (XmlTextAttribute) obj; else if(obj is XmlTypeAttribute) xmlType = (XmlTypeAttribute) obj; } }
/// <summary> /// Adds new attribute to the node decorations. /// </summary> /// <param name="attr">An attriubute.</param> protected void Add( object attr ) { if( attr is NodePolicyAttribute ) { if( _nodePolicy == null ) _nodePolicy = (NodePolicyAttribute)attr; } else if( attr is ConverterAttribute ) { if( _converter == null ) _converter = (ConverterAttribute)attr; } else if( attr is TransparentAttribute ) { _transparent = (TransparentAttribute)attr; } else if( attr is SkipNavigableRootAttribute ) { _skipNavigableRoot = (SkipNavigableRootAttribute)attr; } else if( attr is ChildXmlElementAttribute ) { _childXmlElementName = (ChildXmlElementAttribute)attr; } else if( attr is XmlRootAttribute ) { if( _xmlRoot == null ) _xmlRoot = (XmlRootAttribute)attr; } else if( attr is XmlAttributeAttribute ) { if( NodeTypeUndefined() ) _xmlAttribute = (XmlAttributeAttribute)attr; } else if( attr is XmlElementAttribute ) { if( NodeTypeUndefined() ) { _xmlElement = (XmlElementAttribute)attr; _isNullable = _xmlElement.IsNullable; } } else if( attr is XmlAnyElementAttribute ) { if( NodeTypeUndefined() ) _xmlAnyElement = (XmlAnyElementAttribute)attr; } else if( attr is XmlTextAttribute ) { if( NodeTypeUndefined() ) _xmlText = (XmlTextAttribute)attr; } else if( attr is XmlIgnoreAttribute ) { _xmlIgnore = (XmlIgnoreAttribute)attr; } else if( attr is XmlTypeAttribute ) { _xmlType = (XmlTypeAttribute)attr; } }
public void TypeDefault () { XmlTextAttribute attr = new XmlTextAttribute (); Assert.IsNull (attr.Type); }
public XmlAttributes(ICustomAttributeProvider provider) { this.xmlElements = new XmlElementAttributes(); this.xmlArrayItems = new XmlArrayItemAttributes(); this.xmlAnyElements = new XmlAnyElementAttributes(); object[] customAttributes = provider.GetCustomAttributes(false); XmlAnyElementAttribute attribute = null; for (int i = 0; i < customAttributes.Length; i++) { if (((customAttributes[i] is XmlIgnoreAttribute) || (customAttributes[i] is ObsoleteAttribute)) || (customAttributes[i].GetType() == IgnoreAttribute)) { this.xmlIgnore = true; break; } if (customAttributes[i] is XmlElementAttribute) { this.xmlElements.Add((XmlElementAttribute)customAttributes[i]); } else if (customAttributes[i] is XmlArrayItemAttribute) { this.xmlArrayItems.Add((XmlArrayItemAttribute)customAttributes[i]); } else if (customAttributes[i] is XmlAnyElementAttribute) { XmlAnyElementAttribute attribute2 = (XmlAnyElementAttribute)customAttributes[i]; if (((attribute2.Name == null) || (attribute2.Name.Length == 0)) && (attribute2.NamespaceSpecified && (attribute2.Namespace == null))) { attribute = attribute2; } else { this.xmlAnyElements.Add((XmlAnyElementAttribute)customAttributes[i]); } } else if (customAttributes[i] is DefaultValueAttribute) { this.xmlDefaultValue = ((DefaultValueAttribute)customAttributes[i]).Value; } else if (customAttributes[i] is XmlAttributeAttribute) { this.xmlAttribute = (XmlAttributeAttribute)customAttributes[i]; } else if (customAttributes[i] is XmlArrayAttribute) { this.xmlArray = (XmlArrayAttribute)customAttributes[i]; } else if (customAttributes[i] is XmlTextAttribute) { this.xmlText = (XmlTextAttribute)customAttributes[i]; } else if (customAttributes[i] is XmlEnumAttribute) { this.xmlEnum = (XmlEnumAttribute)customAttributes[i]; } else if (customAttributes[i] is XmlRootAttribute) { this.xmlRoot = (XmlRootAttribute)customAttributes[i]; } else if (customAttributes[i] is XmlTypeAttribute) { this.xmlType = (XmlTypeAttribute)customAttributes[i]; } else if (customAttributes[i] is XmlAnyAttributeAttribute) { this.xmlAnyAttribute = (XmlAnyAttributeAttribute)customAttributes[i]; } else if (customAttributes[i] is XmlChoiceIdentifierAttribute) { this.xmlChoiceIdentifier = (XmlChoiceIdentifierAttribute)customAttributes[i]; } else if (customAttributes[i] is XmlNamespaceDeclarationsAttribute) { this.xmlns = true; } } if (this.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 (attribute != null) { this.xmlAnyElements.Add(attribute); } }
public void XmlTextAttribute () { // based on default ctor. XmlTextAttribute attr = new XmlTextAttribute (); AssertEquals ("", attr.DataType); AssertNull (attr.Type); // based on a type. XmlTextAttribute attr2 = new XmlTextAttribute (typeof (XmlNode)); AssertEquals ("", attr.DataType); AssertNull (attr.Type); }
private static void AddXmlTextPrint(XmlTextAttribute att, StringBuilder printBuilder) { if (null != att) { printBuilder.Append(att.DataType); printBuilder.Append("/"); if (null != att.Type) { printBuilder.Append(att.Type.AssemblyQualifiedName); } } printBuilder.Append("%%"); }
public void XmlTextAttribute () { // based on default ctor. XmlTextAttribute attr = new XmlTextAttribute (); Assert.AreEqual ("", attr.DataType, "#1"); Assert.IsNull (attr.Type, "#2"); // based on a type. XmlTextAttribute attr2 = new XmlTextAttribute (typeof (XmlNode)); Assert.AreEqual ("", attr.DataType, "#3"); Assert.IsNull (attr.Type, "#4"); }
/// <include file='doc\XmlAttributes.uex' path='docs/doc[@for="XmlAttributes.XmlAttributes1"]/*' /> /// <devdoc> /// <para>[To be supplied.]</para> /// </devdoc> public XmlAttributes(MemberInfo memberInfo) { object[] attrs = memberInfo.GetCustomAttributes(false).ToArray(); // most generic <any/> 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) { _xmlElements.Add((XmlElementAttribute)attrs[i]); } else if (attrs[i] is XmlArrayItemAttribute) { _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 { _xmlAnyElements.Add((XmlAnyElementAttribute)attrs[i]); } } else if (attrs[i] is DefaultValueAttribute) { _xmlDefaultValue = ((DefaultValueAttribute)attrs[i]).Value; } else if (attrs[i] is XmlAttributeAttribute) { _xmlAttribute = (XmlAttributeAttribute)attrs[i]; } else if (attrs[i] is XmlArrayAttribute) { _xmlArray = (XmlArrayAttribute)attrs[i]; } else if (attrs[i] is XmlTextAttribute) { _xmlText = (XmlTextAttribute)attrs[i]; } else if (attrs[i] is XmlEnumAttribute) { _xmlEnum = (XmlEnumAttribute)attrs[i]; } else if (attrs[i] is XmlRootAttribute) { _xmlRoot = (XmlRootAttribute)attrs[i]; } else if (attrs[i] is XmlTypeAttribute) { _xmlType = (XmlTypeAttribute)attrs[i]; } else if (attrs[i] is XmlAnyAttributeAttribute) { _xmlAnyAttribute = (XmlAnyAttributeAttribute)attrs[i]; } else if (attrs[i] is XmlChoiceIdentifierAttribute) { _xmlChoiceIdentifier = (XmlChoiceIdentifierAttribute)attrs[i]; } else if (attrs[i] is XmlNamespaceDeclarationsAttribute) { _xmlns = true; } } if (_xmlIgnore) { _xmlElements.Clear(); _xmlArrayItems.Clear(); _xmlAnyElements.Clear(); _xmlDefaultValue = null; _xmlAttribute = null; _xmlArray = null; _xmlText = null; _xmlEnum = null; _xmlType = null; _xmlAnyAttribute = null; _xmlChoiceIdentifier = null; _xmlns = false; } else { if (wildcard != null) { _xmlAnyElements.Add(wildcard); } } }
/// <include file='doc\XmlAttributes.uex' path='docs/doc[@for="XmlAttributes.XmlAttributes1"]/*' /> /// <devdoc> /// <para>[To be supplied.]</para> /// </devdoc> public XmlAttributes(ICustomAttributeProvider provider) { xmlIgnore = GetAttr(provider, typeof(XmlIgnoreAttribute)) != null; if (!xmlIgnore) { object[] attrs = provider.GetCustomAttributes(typeof(XmlElementAttribute), false); for (int i = 0; i < attrs.Length; i++) this.xmlElements.Add((XmlElementAttribute)attrs[i]); attrs = provider.GetCustomAttributes(typeof(XmlArrayItemAttribute), false); for (int i = 0; i < attrs.Length; i++) this.xmlArrayItems.Add((XmlArrayItemAttribute)attrs[i]); attrs = provider.GetCustomAttributes(typeof(XmlAnyElementAttribute), false); for (int i = 0; i < attrs.Length; i++) this.xmlAnyElements.Add((XmlAnyElementAttribute)attrs[i]); DefaultValueAttribute defaultValueAttribute = (DefaultValueAttribute)GetAttr(provider, typeof(DefaultValueAttribute)); if (defaultValueAttribute != null) xmlDefaultValue = defaultValueAttribute.Value; xmlAttribute = (XmlAttributeAttribute)GetAttr(provider, typeof(XmlAttributeAttribute)); xmlArray = (XmlArrayAttribute)GetAttr(provider, typeof(XmlArrayAttribute)); xmlText = (XmlTextAttribute)GetAttr(provider, typeof(XmlTextAttribute)); xmlEnum = (XmlEnumAttribute)GetAttr(provider, typeof(XmlEnumAttribute)); xmlRoot = (XmlRootAttribute)GetAttr(provider, typeof(XmlRootAttribute)); xmlType = (XmlTypeAttribute)GetAttr(provider, typeof(XmlTypeAttribute)); xmlAnyAttribute = (XmlAnyAttributeAttribute)GetAttr(provider, typeof(XmlAnyAttributeAttribute)); xmlChoiceIdentifier = (XmlChoiceIdentifierAttribute)GetAttr(provider, typeof(XmlChoiceIdentifierAttribute)); xmlns = GetAttr(provider, typeof(XmlNamespaceDeclarationsAttribute)) != null; } }