in src/main/java/org/apache/ws/commons/schema/XmlSchemaSerializer.java [1274:1311]
Element serializeGroupRef(Document doc, XmlSchemaGroupRef groupRefObj, XmlSchema schema)
throws XmlSchemaSerializerException {
Element groupRef = createNewElement(doc, "group", schema.getSchemaNamespacePrefix(),
XmlSchema.SCHEMA_NS);
if (groupRefObj.getRefName() != null) {
String groupRefName = resolveQName(groupRefObj.getRefName(), schema);
groupRef.setAttribute("ref", groupRefName);
} else {
throw new XmlSchemaSerializerException("Group must have name or ref");
}
serializeMaxMinOccurs(groupRefObj, groupRef);
if (groupRefObj.getParticle() != null) {
if (groupRefObj.getParticle() instanceof XmlSchemaChoice) {
serializeChoice(doc, (XmlSchemaChoice)groupRefObj.getParticle(), schema);
} else if (groupRefObj.getParticle() instanceof XmlSchemaSequence) {
serializeSequence(doc, (XmlSchemaSequence)groupRefObj.getParticle(), schema);
} else if (groupRefObj.getParticle() instanceof XmlSchemaAll) {
serializeAll(doc, (XmlSchemaAll)groupRefObj.getParticle(), schema);
} else {
throw new XmlSchemaSerializerException("The content of group " + "ref particle should be"
+ " sequence, choice or all reference: "
+ "www.w3.org/TR/xmlschema-1#element-group-3.7.2");
}
}
if (groupRefObj.getAnnotation() != null) {
Element annotation = serializeAnnotation(doc, groupRefObj.getAnnotation(), schema);
groupRef.appendChild(annotation);
}
// process extension
processExtensibilityComponents(groupRefObj, groupRef);
return groupRef;
}