//------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // // [....] //------------------------------------------------------------------------------ namespace System.Xml.Schema { using System.Collections; using System.Xml.Serialization; /// /// /// [To be supplied.] /// public class XmlSchemaAttributeGroup : XmlSchemaAnnotated { string name; XmlSchemaObjectCollection attributes = new XmlSchemaObjectCollection(); XmlSchemaAnyAttribute anyAttribute; XmlQualifiedName qname = XmlQualifiedName.Empty; XmlSchemaAttributeGroup redefined; XmlSchemaObjectTable attributeUses; XmlSchemaAnyAttribute attributeWildcard; int selfReferenceCount; /// /// /// [To be supplied.] /// [XmlAttribute("name")] public string Name { get { return name; } set { name = value; } } /// /// /// [To be supplied.] /// [XmlElement("attribute", typeof(XmlSchemaAttribute)), XmlElement("attributeGroup", typeof(XmlSchemaAttributeGroupRef))] public XmlSchemaObjectCollection Attributes { get { return attributes; } } /// /// /// [To be supplied.] /// [XmlElement("anyAttribute")] public XmlSchemaAnyAttribute AnyAttribute { get { return anyAttribute; } set { anyAttribute = value; } } [XmlIgnore] public XmlQualifiedName QualifiedName { get { return qname; } } [XmlIgnore] internal XmlSchemaObjectTable AttributeUses { get { if (attributeUses == null) { attributeUses = new XmlSchemaObjectTable(); } return attributeUses; } } [XmlIgnore] internal XmlSchemaAnyAttribute AttributeWildcard { get { return attributeWildcard; } set { attributeWildcard = value; } } /// [XmlIgnore] public XmlSchemaAttributeGroup RedefinedAttributeGroup { get { return redefined; } } [XmlIgnore] internal XmlSchemaAttributeGroup Redefined { get { return redefined; } set { redefined = value; } } [XmlIgnore] internal int SelfReferenceCount { get { return selfReferenceCount; } set { selfReferenceCount = value; } } [XmlIgnore] internal override string NameAttribute { get { return Name; } set { Name = value; } } internal void SetQualifiedName(XmlQualifiedName value) { qname = value; } internal override XmlSchemaObject Clone() { XmlSchemaAttributeGroup newGroup = (XmlSchemaAttributeGroup)MemberwiseClone(); if (XmlSchemaComplexType.HasAttributeQNameRef(this.attributes)) { //If a ref/type name is present newGroup.attributes = XmlSchemaComplexType.CloneAttributes(this.attributes); //Clear compiled tables newGroup.attributeUses = null; } return newGroup; } } }