package org.simantics.xml.sax; import java.util.List; import org.simantics.utils.datastructures.BijectionMap; import org.simantics.xml.sax.SchemaConversionBase.RefType; import org.simantics.xml.sax.SchemaObject.ObjectType; import org.simantics.xml.sax.configuration.AttributeComposition; import org.w3._2001.xmlschema.Annotated; import org.w3._2001.xmlschema.Attribute; import org.w3._2001.xmlschema.AttributeGroup; import org.w3._2001.xmlschema.NamedGroup; public interface SchemaConversionComponent { void handleAttributes(SchemaObject simpleTypeObj); void handleAttributeComposition(SchemaObject obj, AttributeComposition composition, BijectionMap attributes); void handleIndicator(SchemaObject parent, SchemaElement indicator, SchemaElement element, String refName, RefType refType); void handleIndicator(SchemaObject parent, SchemaElement indicator, SchemaElement any); //void handle(SchemaObject parent, SchemaElement indicator, List elements); void handleChoice(SchemaObject parent, SchemaElement indicator, List elements, String name); void handle(SchemaObject parent, Attribute attribute) ; void handle(SchemaObject parent, AttributeGroup attribute) ; void handle(SchemaObject parent, NamedGroup attribute); void handleSimpleType(SchemaObject parent, SchemaObject simpleType); void handleComplexType(SchemaObject complexTypeObj); void handleElement(SchemaObject complexTypeObj); String getComplexTypePrefix(); String getAttributeGroupPrefix(); String getName(SchemaObject obj); String getBaseClass(ObjectType type); }