| 
        public class XmlSchemaComplexContent : XmlSchemaContentModel
       | 
using System;
using System.Xml;  
using System.Xml.Schema;
class XMLSchemaExamples {
    public static void Main() {
 
        XmlSchema schema = new XmlSchema();
        // <xs:complexType name="address">
        XmlSchemaComplexType address = new XmlSchemaComplexType();
        schema.Items.Add(address);
        address.Name = "address";
        
        // <xs:sequence>
        XmlSchemaSequence sequence = new XmlSchemaSequence();
        address.Particle = sequence;
        
        // <xs:element name="name"   type="xs:string"/>
        XmlSchemaElement elementName = new XmlSchemaElement();
        sequence.Items.Add(elementName);
        elementName.Name = "name";
        elementName.SchemaTypeName = new XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema");
        
        // <xs:element name="street"   type="xs:string"/>
        XmlSchemaElement elementStreet = new XmlSchemaElement();
        sequence.Items.Add(elementStreet);
        elementStreet.Name = "street";
        elementStreet.SchemaTypeName = new XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema");
        
        // <xs:element name="city"   type="xs:string"/>
        XmlSchemaElement elementCity = new XmlSchemaElement();
        sequence.Items.Add(elementCity);
        elementCity.Name = "city";
        elementCity.SchemaTypeName = new XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema");
        
        // <xs:complexType name="USAddress">
        XmlSchemaComplexType USAddress = new XmlSchemaComplexType();
        schema.Items.Add(USAddress);
        USAddress.Name = "USAddress";
        
        // <xs:complexContent>
        XmlSchemaComplexContent complexContent = new XmlSchemaComplexContent();
        USAddress.ContentModel = complexContent;
        
        // <xs:extension base="address">
        XmlSchemaComplexContentExtension extensionAddress = new XmlSchemaComplexContentExtension();
        complexContent.Content = extensionAddress;
        extensionAddress.BaseTypeName = new XmlQualifiedName("address");
        
        // <xs:sequence>
        XmlSchemaSequence sequence2 = new XmlSchemaSequence();
        extensionAddress.Particle = sequence2;
        
        // <xs:element name="state" type="xs:string"/>
        XmlSchemaElement elementUSState = new XmlSchemaElement();
        sequence2.Items.Add(elementUSState);
        elementUSState.Name = "state";
        elementUSState.SchemaTypeName = new XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema");
        
        // <xs:element name="zipcode" type="xs:positiveInteger"/>
        XmlSchemaElement elementZipcode = new XmlSchemaElement();
        sequence2.Items.Add(elementZipcode);
        elementZipcode.Name = "zipcode";
        elementZipcode.SchemaTypeName = new XmlQualifiedName("positiveInteger", "http://www.w3.org/2001/XMLSchema");
        
        schema.Compile(new ValidationEventHandler(ValidationCallbackOne));
        XmlNamespaceManager nsmgr = new XmlNamespaceManager(new NameTable());
        nsmgr.AddNamespace("xs", "http://www.w3.org/2001/XMLSchema");
        schema.Write(Console.Out, nsmgr);
    }
    public static void ValidationCallbackOne(object sender, ValidationEventArgs args) {
        Console.WriteLine(args.Message);
    }
}
    
The following XML file is generated for the preceding code example.
<?xml version="1.0" encoding="IBM437"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:complexType name="address">
        <xs:sequence>
            <xs:element name="name"   type="xs:string"/>
            <xs:element name="street" type="xs:string"/>
            <xs:element name="city"   type="xs:string"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="USAddress">
        <xs:complexContent mixed="false">
            <xs:extension base="address">
                <xs:sequence>
                    <xs:element name="state" type="xs:string"/>
                    <xs:element name="zipcode" type="xs:positiveInteger"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
</xs:schema>
    
| ctor #1 | Default constructor. This constructor is called by derived class constructors to initialize state in this type. | 
| Annotation (inherited from System.Xml.Schema.XmlSchemaAnnotated) | Read-write See base class member description: System.Xml.Schema.XmlSchemaAnnotated.Annotation Gets or sets the annotation property. | 
| Content | Read-write Overridden: Gets or sets the content. | 
| Id (inherited from System.Xml.Schema.XmlSchemaAnnotated) | Read-write See base class member description: System.Xml.Schema.XmlSchemaAnnotated.Id Gets or sets the string id. | 
| IsMixed | Read-write Gets or sets information that determines if the type has a mixed content model. | 
| LineNumber (inherited from System.Xml.Schema.XmlSchemaObject) | Read-write See base class member description: System.Xml.Schema.XmlSchemaObject.LineNumber Gets or sets the line number in the file to which the schema element refers. | 
| LinePosition (inherited from System.Xml.Schema.XmlSchemaObject) | Read-write See base class member description: System.Xml.Schema.XmlSchemaObject.LinePosition Gets or sets the line position in the file to which the schema element refers. | 
| Namespaces (inherited from System.Xml.Schema.XmlSchemaObject) | Read-write See base class member description: System.Xml.Schema.XmlSchemaObject.Namespaces | 
| SourceUri (inherited from System.Xml.Schema.XmlSchemaObject) | Read-write See base class member description: System.Xml.Schema.XmlSchemaObject.SourceUri Gets or sets the source location for the file that loaded the schema. | 
| UnhandledAttributes (inherited from System.Xml.Schema.XmlSchemaAnnotated) | Read-write See base class member description: System.Xml.Schema.XmlSchemaAnnotated.UnhandledAttributes Gets or sets the qualified attributes that do not belong to the schema target namespace. | 
| Equals (inherited from System.Object) | See base class member description: System.Object.Equals Derived from System.Object, the primary base class for all objects. | 
| GetHashCode (inherited from System.Object) | See base class member description: System.Object.GetHashCode Derived from System.Object, the primary base class for all objects. | 
| GetType (inherited from System.Object) | See base class member description: System.Object.GetType Derived from System.Object, the primary base class for all objects. | 
| ToString (inherited from System.Object) | See base class member description: System.Object.ToString Derived from System.Object, the primary base class for all objects. | 
| Finalize (inherited from System.Object) | See base class member description: System.Object.Finalize Derived from System.Object, the primary base class for all objects. | 
| MemberwiseClone (inherited from System.Object) | See base class member description: System.Object.MemberwiseClone Derived from System.Object, the primary base class for all objects. | 
Hierarchy:
| 
            public XmlSchemaComplexContent(); | 
| 
            public XmlSchemaAnnotation Annotation {get; set;}
           | 
| 
            public override XmlSchemaContent Content {get; set;}
           | 
| 
            public string Id {get; set;}
           | 
Optional.
| 
            public bool IsMixed {get; set;}
           | 
| 
            public int LineNumber {get; set;}
           | 
| 
            public int LinePosition {get; set;}
           | 
| 
            public XmlSerializerNamespaces Namespaces {get; set;}
           | 
| 
            public string SourceUri {get; set;}
           | 
| 
            public XmlAttribute[] UnhandledAttributes {get; set;}
           | 
| 
            ~XmlSchemaComplexContent(); | 
| 
            public virtual int GetHashCode(); | 
| 
            public Type GetType(); | 
| 
            protected object MemberwiseClone(); | 
| 
            public virtual string ToString(); |