package com.k_int.openxsd.analysis.iface;

import java.util.Iterator;
import java.util.Map;

import com.k_int.openxsd.core.ElementDeclaration;
import com.k_int.openxsd.core.NameRef;
import com.k_int.openxsd.core.TypeDefinition;


public interface SchemaAnalysis
{
    public void setNsToPrefixMap(Map<String,String> map);
    
    public void setTargetNamespace(String target_namespace);
    
    public void addElement(ElementDeclaration element);
    
    public void addType(TypeDefinition type_def);
    
    public void addPossibleRoot(NameRef ref);
    
    public Iterator<NameRef> getPossibleRoots();
    
    public boolean isPossibleRoot(NameRef possible_root);
    
    public ElementDeclaration getElementDeclaration(NameRef ref);
        
    public TypeDefinition getTypeDefinition(NameRef ref);
}
