in src/main/java/org/apache/ws/commons/schema/XmlSchemaSerializer.java [2342:2398]
private void serializeSchemaChild(List<XmlSchemaObject> items, Element serializedSchema,
Document serializedSchemaDocs, XmlSchema schemaObj,
boolean serializeIncluded) throws XmlSchemaSerializerException {
int itemsLength = items.size();
/**
* For each of the items that belong to this schema, serialize each member found. Valid members
* are: element, simpleType, complexType, group, attrributeGroup, Attribute, include, import and
* redefine. if any of the member found then serialize the component.
*/
// Since imports and includes need to be the first items of the
// serialized schema. So this loop does the serialization of the
// imports and includes
for (int i = 0; i < itemsLength; i++) {
XmlSchemaObject obj = items.get(i);
if (obj instanceof XmlSchemaInclude) {
Element e = serializeInclude(serializedSchemaDocs, (XmlSchemaInclude)obj, schemaObj,
serializeIncluded);
serializedSchema.appendChild(e);
} else if (obj instanceof XmlSchemaImport) {
Element e = serializeImport(serializedSchemaDocs, (XmlSchemaImport)obj, schemaObj,
serializeIncluded);
serializedSchema.appendChild(e);
}
}
// reloop to serialize the others
for (int i = 0; i < itemsLength; i++) {
XmlSchemaObject obj = items.get(i);
if (obj instanceof XmlSchemaElement) {
Element e = serializeElement(serializedSchemaDocs, (XmlSchemaElement)obj, schemaObj);
serializedSchema.appendChild(e);
} else if (obj instanceof XmlSchemaSimpleType) {
Element e = serializeSimpleType(serializedSchemaDocs, (XmlSchemaSimpleType)obj, schemaObj);
serializedSchema.appendChild(e);
} else if (obj instanceof XmlSchemaComplexType) {
Element e = serializeComplexType(serializedSchemaDocs, (XmlSchemaComplexType)obj, schemaObj);
serializedSchema.appendChild(e);
} else if (obj instanceof XmlSchemaGroup) {
Element e = serializeGroup(serializedSchemaDocs, (XmlSchemaGroup)obj, schemaObj);
serializedSchema.appendChild(e);
} else if (obj instanceof XmlSchemaAttributeGroup) {
Element e = serializeAttributeGroup(serializedSchemaDocs, (XmlSchemaAttributeGroup)obj,
schemaObj);
serializedSchema.appendChild(e);
} else if (obj instanceof XmlSchemaAttribute) {
Element e = serializeAttribute(serializedSchemaDocs, (XmlSchemaAttribute)obj, schemaObj);
serializedSchema.appendChild(e);
} else if (obj instanceof XmlSchemaRedefine) {
Element e = serializeRedefine(serializedSchemaDocs, (XmlSchemaRedefine)obj, schemaObj);
serializedSchema.appendChild(e);
}
}
}