Element serializeSequence()

in src/main/java/org/apache/ws/commons/schema/XmlSchemaSerializer.java [1724:1762]


    Element serializeSequence(Document doc, XmlSchemaSequence sequenceObj, XmlSchema schema)
        throws XmlSchemaSerializerException {

        Element sequence = createNewElement(doc, "sequence", schema.getSchemaNamespacePrefix(),
                                            XmlSchema.SCHEMA_NS);

        if (sequenceObj.getId() != null) {
            sequence.setAttribute("id", sequenceObj.getId());
        }

        serializeMaxMinOccurs(sequenceObj, sequence);

        List<XmlSchemaSequenceMember> seqColl = sequenceObj.getItems();
        int containLength = seqColl.size();
        for (int i = 0; i < containLength; i++) {
            XmlSchemaSequenceMember obj = seqColl.get(i);
            if (obj instanceof XmlSchemaElement) {
                Element el = serializeElement(doc, (XmlSchemaElement)obj, schema);
                sequence.appendChild(el);
            } else if (obj instanceof XmlSchemaGroupRef) {
                Element group = serializeGroupRef(doc, (XmlSchemaGroupRef)obj, schema);
                sequence.appendChild(group);
            } else if (obj instanceof XmlSchemaChoice) {
                Element choice = serializeChoice(doc, (XmlSchemaChoice)obj, schema);
                sequence.appendChild(choice);
            } else if (obj instanceof XmlSchemaSequence) {
                Element sequenceChild = serializeSequence(doc, (XmlSchemaSequence)obj, schema);
                sequence.appendChild(sequenceChild);
            } else if (obj instanceof XmlSchemaAny) {
                Element any = serializeAny(doc, (XmlSchemaAny)obj, schema);
                sequence.appendChild(any);
            }
        }

        // process extension
        processExtensibilityComponents(sequenceObj, sequence);

        return sequence;
    }