void WriteAttributes(XmlAttribute[] a, XmlSchemaObject o) {
if (a == null) return;
ArrayList attrs = new ArrayList();
for (int i = 0; i < a.Length; i++) {
attrs.Add(a[i]);
}
attrs.Sort(new XmlAttributeComparer());
for (int i = 0; i < attrs.Count; i++) {
XmlAttribute attribute = (XmlAttribute)attrs[i];
WriteAttribute(attribute);
}
}