Element serializeSimpleType()

in src/main/java/org/apache/ws/commons/schema/XmlSchemaSerializer.java [1961:2015]


    Element serializeSimpleType(Document doc, XmlSchemaSimpleType simpleTypeObj, XmlSchema schema)
        throws XmlSchemaSerializerException {

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

        if (simpleTypeObj.getFinalDerivation() != null
            && simpleTypeObj.getFinalDerivation() != XmlSchemaDerivationMethod.NONE) {
            serializedSimpleType.setAttribute("final", simpleTypeObj.getFinalDerivation().toString());
        }
        if (simpleTypeObj.getId() != null) {
            serializedSimpleType.setAttribute("id", simpleTypeObj.getId());
        }
        if (!simpleTypeObj.isAnonymous()) {
            serializedSimpleType.setAttribute("name", simpleTypeObj.getName());
        }
        if (simpleTypeObj.getAnnotation() != null) {
            Element annotationEl = serializeAnnotation(doc, simpleTypeObj.getAnnotation(), schema);
            serializedSimpleType.appendChild(annotationEl);
        }
        if (simpleTypeObj.content != null) {
            if (simpleTypeObj.content instanceof XmlSchemaSimpleTypeRestriction) {
                Element restEl = serializeSimpleTypeRestriction(
                                                                doc,
                                                                (XmlSchemaSimpleTypeRestriction)
                                                                simpleTypeObj.content,
                                                                schema);
                serializedSimpleType.appendChild(restEl);
            } else if (simpleTypeObj.content instanceof XmlSchemaSimpleTypeList) {
                Element listEl = serializeSimpleTypeList(doc, (XmlSchemaSimpleTypeList)simpleTypeObj.content,
                                                         schema);
                serializedSimpleType.appendChild(listEl);
            } else if (simpleTypeObj.content instanceof XmlSchemaSimpleTypeUnion) {
                Element unionEl = serializeSimpleTypeUnion(doc,
                                                           (XmlSchemaSimpleTypeUnion)simpleTypeObj.content,
                                                           schema);
                serializedSimpleType.appendChild(unionEl);
            }
            /*
             * else throw new XmlSchemaSerializerException("Invalid type inserted " +
             * "in simpleType content, the content is: " + simpleTypeObj.content.getClass().getName() +
             * " valid content should be XmlSchemaSimpleTypeunion, " +
             * "XmlSchemaSimpleTyperestriction or list");
             */
        }
        /*
         * else throw new XmlSchemaSerializerException("simple type must be set " +
         * "with content, either union, restriction or list");
         */

        // process extension
        processExtensibilityComponents(simpleTypeObj, serializedSimpleType);

        return serializedSimpleType;
    }