private void Write62_XmlSchemaComplexType(string n, string ns, XmlSchemaComplexType o, bool isNullable, bool needType) { if (o == null) { if (isNullable) { base.WriteNullTagLiteral(n, ns); } } else { if (!needType && !(o.GetType() == typeof(XmlSchemaComplexType))) { throw base.CreateUnknownTypeException(o); } base.EscapeName = false; base.WriteStartElement(n, ns, o, false, o.Namespaces); if (needType) { base.WriteXsiType("XmlSchemaComplexType", "http://www.w3.org/2001/XMLSchema"); } base.WriteAttribute("id", "", o.Id); XmlAttribute[] unhandledAttributes = o.UnhandledAttributes; if (unhandledAttributes != null) { for (int i = 0; i < unhandledAttributes.Length; i++) { XmlAttribute node = unhandledAttributes[i]; base.WriteXmlAttribute(node, o); } } base.WriteAttribute("name", "", o.Name); if (o.Final != XmlSchemaDerivationMethod.None) { base.WriteAttribute("final", "", this.Write7_XmlSchemaDerivationMethod(o.Final)); } if (o.IsAbstract) { base.WriteAttribute("abstract", "", XmlConvert.ToString(o.IsAbstract)); } if (o.Block != XmlSchemaDerivationMethod.None) { base.WriteAttribute("block", "", this.Write7_XmlSchemaDerivationMethod(o.Block)); } if (o.IsMixed) { base.WriteAttribute("mixed", "", XmlConvert.ToString(o.IsMixed)); } this.Write11_XmlSchemaAnnotation("annotation", "http://www.w3.org/2001/XMLSchema", o.Annotation, false, false); if (o.ContentModel is XmlSchemaSimpleContent) { this.Write61_XmlSchemaSimpleContent("simpleContent", "http://www.w3.org/2001/XMLSchema", (XmlSchemaSimpleContent) o.ContentModel, false, false); } else if (o.ContentModel is XmlSchemaComplexContent) { this.Write58_XmlSchemaComplexContent("complexContent", "http://www.w3.org/2001/XMLSchema", (XmlSchemaComplexContent) o.ContentModel, false, false); } else if (o.ContentModel != null) { throw base.CreateUnknownTypeException(o.ContentModel); } if (o.Particle is XmlSchemaChoice) { this.Write54_XmlSchemaChoice("choice", "http://www.w3.org/2001/XMLSchema", (XmlSchemaChoice) o.Particle, false, false); } else if (o.Particle is XmlSchemaAll) { this.Write55_XmlSchemaAll("all", "http://www.w3.org/2001/XMLSchema", (XmlSchemaAll) o.Particle, false, false); } else if (o.Particle is XmlSchemaSequence) { this.Write53_XmlSchemaSequence("sequence", "http://www.w3.org/2001/XMLSchema", (XmlSchemaSequence) o.Particle, false, false); } else if (o.Particle is XmlSchemaGroupRef) { this.Write44_XmlSchemaGroupRef("group", "http://www.w3.org/2001/XMLSchema", (XmlSchemaGroupRef) o.Particle, false, false); } else if (o.Particle != null) { throw base.CreateUnknownTypeException(o.Particle); } XmlSchemaObjectCollection attributes = o.Attributes; if (attributes != null) { for (int j = 0; j < attributes.Count; j++) { XmlSchemaObject obj2 = attributes[j]; if (obj2 is XmlSchemaAttributeGroupRef) { this.Write37_XmlSchemaAttributeGroupRef("attributeGroup", "http://www.w3.org/2001/XMLSchema", (XmlSchemaAttributeGroupRef) obj2, false, false); } else if (obj2 is XmlSchemaAttribute) { this.Write36_XmlSchemaAttribute("attribute", "http://www.w3.org/2001/XMLSchema", (XmlSchemaAttribute) obj2, false, false); } else if (obj2 != null) { throw base.CreateUnknownTypeException(obj2); } } } this.Write39_XmlSchemaAnyAttribute("anyAttribute", "http://www.w3.org/2001/XMLSchema", o.AnyAttribute, false, false); base.WriteEndElement(o); } }