void Write50_XmlSchemaKeyref(XmlSchemaKeyref o) {
if ((object)o == null) return;
System.Type t = o.GetType();
WriteStartElement("keyref");
WriteAttribute(@"id", @"", ((System.String)o.@Id));
WriteAttribute(@"name", @"", ((System.String)o.@Name));
WriteAttributes((XmlAttribute[])o.@UnhandledAttributes, o);
WriteAttribute(@"refer", @"", o.@Refer);
Write5_XmlSchemaAnnotation((XmlSchemaAnnotation)o.@Annotation);
Write49_XmlSchemaXPath(@"selector", @"", (XmlSchemaXPath)o.@Selector); {
XmlSchemaObjectCollection a = (XmlSchemaObjectCollection)o.@Fields;
if (a != null) {
for (int ia = 0; ia < a.Count; ia++) {
Write49_XmlSchemaXPath(@"field", @"", (XmlSchemaXPath)a[ia]);
}
}
}
WriteEndElement();
}