001    package com.thaiopensource.relaxng.impl;
002    
003    import org.relaxng.datatype.Datatype;
004    
005    public interface PatternVisitor {
006      void visitEmpty();
007      void visitNotAllowed();
008      void visitError();
009      void visitGroup(Pattern p1, Pattern p2);
010      void visitInterleave(Pattern p1, Pattern p2);
011      void visitChoice(Pattern p1, Pattern p2);
012      void visitOneOrMore(Pattern p);
013      void visitElement(NameClass nc, Pattern content);
014      void visitAttribute(NameClass ns, Pattern value);
015      void visitData(Datatype dt);
016      void visitDataExcept(Datatype dt, Pattern except);
017      void visitValue(Datatype dt, Object obj);
018      void visitText();
019      void visitList(Pattern p);
020    }