package com.openMap1.mapper.structures; import com.openMap1.mapper.core.PropertyValueSupplier; import com.openMap1.mapper.core.NamespaceSet; import com.openMap1.mapper.core.MapperException; import com.openMap1.mapper.ElementDef; /** * Every mapping set must have some class implementing this * interface, to define the tree structure of the XML for * the mapping set. * * @author robert * */ public interface StructureDefinition extends PropertyValueSupplier{ /** * find the Element and Attribute structure of some named top element (which may have a named * complex type, or a locally defined anonymous type), stopping at the * next complex type definitions it refers to * @param String name the name of the element * @return Element the EObject subtree (Element and Attribute EObjects) defined by the name */ public ElementDef nameStructure(String name) throws MapperException; /** * find the Element and Attribute structure of some complex type, stopping at the * next complex type definitions it refers to * @param type the name of the complex type * @return the EObject subtree (Element and Attribute EObjects) defined by the type */ public ElementDef typeStructure(String type) throws MapperException; /** * * @return an array of the top-level complex types defined in the structure definition - * any of which can be the type of a mapping set */ public String[] topComplexTypes(); /** * @return the set of namespaces defined for the structure */ public NamespaceSet NSSet(); }