private void Write32_XmlSchemaSimpleTypeRestriction(string n, string ns, XmlSchemaSimpleTypeRestriction o, bool isNullable, bool needType) { if (o == null) { if (isNullable) { base.WriteNullTagLiteral(n, ns); } } else { if (!needType && !(o.GetType() == typeof(XmlSchemaSimpleTypeRestriction))) { throw base.CreateUnknownTypeException(o); } base.EscapeName = false; base.WriteStartElement(n, ns, o, false, o.Namespaces); if (needType) { base.WriteXsiType("XmlSchemaSimpleTypeRestriction", "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("base", "", base.FromXmlQualifiedName(o.BaseTypeName)); this.Write11_XmlSchemaAnnotation("annotation", "http://www.w3.org/2001/XMLSchema", o.Annotation, false, false); this.Write34_XmlSchemaSimpleType("simpleType", "http://www.w3.org/2001/XMLSchema", o.BaseType, false, false); XmlSchemaObjectCollection facets = o.Facets; if (facets != null) { for (int j = 0; j < facets.Count; j++) { XmlSchemaObject obj2 = facets[j]; if (obj2 is XmlSchemaLengthFacet) { this.Write23_XmlSchemaLengthFacet("length", "http://www.w3.org/2001/XMLSchema", (XmlSchemaLengthFacet) obj2, false, false); } else if (obj2 is XmlSchemaTotalDigitsFacet) { this.Write24_XmlSchemaTotalDigitsFacet("totalDigits", "http://www.w3.org/2001/XMLSchema", (XmlSchemaTotalDigitsFacet) obj2, false, false); } else if (obj2 is XmlSchemaMaxLengthFacet) { this.Write22_XmlSchemaMaxLengthFacet("maxLength", "http://www.w3.org/2001/XMLSchema", (XmlSchemaMaxLengthFacet) obj2, false, false); } else if (obj2 is XmlSchemaFractionDigitsFacet) { this.Write20_XmlSchemaFractionDigitsFacet("fractionDigits", "http://www.w3.org/2001/XMLSchema", (XmlSchemaFractionDigitsFacet) obj2, false, false); } else if (obj2 is XmlSchemaMinLengthFacet) { this.Write31_XmlSchemaMinLengthFacet("minLength", "http://www.w3.org/2001/XMLSchema", (XmlSchemaMinLengthFacet) obj2, false, false); } else if (obj2 is XmlSchemaMaxExclusiveFacet) { this.Write28_XmlSchemaMaxExclusiveFacet("maxExclusive", "http://www.w3.org/2001/XMLSchema", (XmlSchemaMaxExclusiveFacet) obj2, false, false); } else if (obj2 is XmlSchemaWhiteSpaceFacet) { this.Write29_XmlSchemaWhiteSpaceFacet("whiteSpace", "http://www.w3.org/2001/XMLSchema", (XmlSchemaWhiteSpaceFacet) obj2, false, false); } else if (obj2 is XmlSchemaMinExclusiveFacet) { this.Write30_XmlSchemaMinExclusiveFacet("minExclusive", "http://www.w3.org/2001/XMLSchema", (XmlSchemaMinExclusiveFacet) obj2, false, false); } else if (obj2 is XmlSchemaPatternFacet) { this.Write25_XmlSchemaPatternFacet("pattern", "http://www.w3.org/2001/XMLSchema", (XmlSchemaPatternFacet) obj2, false, false); } else if (obj2 is XmlSchemaMinInclusiveFacet) { this.Write21_XmlSchemaMinInclusiveFacet("minInclusive", "http://www.w3.org/2001/XMLSchema", (XmlSchemaMinInclusiveFacet) obj2, false, false); } else if (obj2 is XmlSchemaMaxInclusiveFacet) { this.Write27_XmlSchemaMaxInclusiveFacet("maxInclusive", "http://www.w3.org/2001/XMLSchema", (XmlSchemaMaxInclusiveFacet) obj2, false, false); } else if (obj2 is XmlSchemaEnumerationFacet) { this.Write26_XmlSchemaEnumerationFacet("enumeration", "http://www.w3.org/2001/XMLSchema", (XmlSchemaEnumerationFacet) obj2, false, false); } else if (obj2 != null) { throw base.CreateUnknownTypeException(obj2); } } } base.WriteEndElement(o); } }