94 lines
3.3 KiB
C#
94 lines
3.3 KiB
C#
|
//------------------------------------------------------------------------------
|
||
|
// <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;
|
||
|
}
|
||
|
}
|
||
|
}
|