//------------------------------------------------------------------------------ // <copyright file="XmlSchemaGroup.cs" company="Microsoft"> // Copyright (c) Microsoft Corporation. All rights reserved. // </copyright> // <owner current="true" primary="true">[....]</owner> //------------------------------------------------------------------------------ namespace System.Xml.Schema { using System.Xml.Serialization; /// <include file='doc\XmlSchemaGroup.uex' path='docs/doc[@for="XmlSchemaGroup"]/*' /> /// <devdoc> /// <para>[To be supplied.]</para> /// </devdoc> public class XmlSchemaGroup : XmlSchemaAnnotated { string name; XmlSchemaGroupBase particle; XmlSchemaParticle canonicalParticle; XmlQualifiedName qname = XmlQualifiedName.Empty; XmlSchemaGroup redefined; int selfReferenceCount; /// <include file='doc\XmlSchemaGroup.uex' path='docs/doc[@for="XmlSchemaGroup.Name"]/*' /> /// <devdoc> /// <para>[To be supplied.]</para> /// </devdoc> [XmlAttribute("name")] public string Name { get { return name; } set { name = value; } } /// <include file='doc\XmlSchemaGroup.uex' path='docs/doc[@for="XmlSchemaGroup.Particle"]/*' /> /// <devdoc> /// <para>[To be supplied.]</para> /// </devdoc> [XmlElement("choice", typeof(XmlSchemaChoice)), XmlElement("all", typeof(XmlSchemaAll)), XmlElement("sequence", typeof(XmlSchemaSequence))] public XmlSchemaGroupBase Particle { get { return particle; } set { particle = value; } } [XmlIgnore] public XmlQualifiedName QualifiedName { get { return qname; } } [XmlIgnore] internal XmlSchemaParticle CanonicalParticle { get { return canonicalParticle; } set { canonicalParticle = value; } } [XmlIgnore] internal XmlSchemaGroup 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() { System.Diagnostics.Debug.Assert(false, "Should never call Clone() on XmlSchemaGroup. Call Clone(XmlSchema) instead."); return Clone(null); } internal XmlSchemaObject Clone(XmlSchema parentSchema) { XmlSchemaGroup newGroup = (XmlSchemaGroup)MemberwiseClone(); if (XmlSchemaComplexType.HasParticleRef(this.particle, parentSchema)) { newGroup.particle = XmlSchemaComplexType.CloneParticle(this.particle, parentSchema) as XmlSchemaGroupBase; } newGroup.canonicalParticle = XmlSchemaParticle.Empty; return newGroup; } } }