code: /* this file is generated by RelaxNGCC */
  package com.sun.xml.xsom.impl.parser.state;
  import org.xml.sax.SAXException;
  import org.xml.sax.XMLReader;
  import org.xml.sax.Attributes;
  import com.sun.xml.xsom.impl.parser.NGCCRuntimeEx;
  
      import com.sun.xml.xsom.*;
      import com.sun.xml.xsom.parser.*;
      import com.sun.xml.xsom.impl.*;
      import com.sun.xml.xsom.impl.parser.*;
      import org.xml.sax.Locator;
      import org.xml.sax.ContentHandler;
      import org.xml.sax.helpers.*;
      import java.util.*;
    
  
  
  class ersSet extends NGCCHandler {
      private String v;
      protected final NGCCRuntimeEx $runtime;
      private int $_ngcc_current_state;
      protected String $uri;
      protected String $localName;
      protected String $qname;
  
      public final NGCCRuntime getRuntime() {
          return($runtime);
      }
  
      public ersSet(NGCCHandler parent, NGCCEventSource source, NGCCRuntimeEx runtime, int cookie) {
          super(source, parent, cookie);
          $runtime = runtime;
          $_ngcc_current_state = 1;
      }
  
      public ersSet(NGCCRuntimeEx runtime) {
          this(null, runtime, runtime, -1);
      }
  
      public void enterElement(String $__uri, String $__local, String $__qname, Attributes $attrs) throws SAXException {
          int $ai;
          $uri = $__uri;
          $localName = $__local;
          $qname = $__qname;
          switch($_ngcc_current_state) {
          case 0:
              {
                  revertToParentFromEnterElement(makeResult(), super._cookie, $__uri, $__local, $__qname, $attrs);
              }
              break;
          default:
              {
                  unexpectedEnterElement($__qname);
              }
              break;
          }
      }
  
      public void leaveElement(String $__uri, String $__local, String $__qname) throws SAXException {
          int $ai;
          $uri = $__uri;
          $localName = $__local;
          $qname = $__qname;
          switch($_ngcc_current_state) {
          case 0:
              {
                  revertToParentFromLeaveElement(makeResult(), super._cookie, $__uri, $__local, $__qname);
              }
              break;
          default:
              {
                  unexpectedLeaveElement($__qname);
              }
              break;
          }
      }
  
      public void enterAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
          int $ai;
          $uri = $__uri;
          $localName = $__local;
          $qname = $__qname;
          switch($_ngcc_current_state) {
          case 0:
              {
                  revertToParentFromEnterAttribute(makeResult(), super._cookie, $__uri, $__local, $__qname);
              }
              break;
          default:
              {
                  unexpectedEnterAttribute($__qname);
              }
              break;
          }
      }
  
      public void leaveAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
          int $ai;
          $uri = $__uri;
          $localName = $__local;
          $qname = $__qname;
          switch($_ngcc_current_state) {
          case 0:
              {
                  revertToParentFromLeaveAttribute(makeResult(), super._cookie, $__uri, $__local, $__qname);
              }
              break;
          default:
              {
                  unexpectedLeaveAttribute($__qname);
              }
              break;
          }
      }
  
      public void text(String $value) throws SAXException {
          int $ai;
          switch($_ngcc_current_state) {
          case 1:
              {
                  v = $value;
                  $_ngcc_current_state = 0;
              }
              break;
          case 0:
              {
                  revertToParentFromText(makeResult(), super._cookie, $value);
              }
              break;
          }
      }
  
      public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
          switch($__cookie__) {
          }
      }
  
      public boolean accepted() {
          return(($_ngcc_current_state == 0));
      }
  
      
        private Integer makeResult() {
          if(v==null)     return new Integer($runtime.blockDefault);
          
          if(v.indexOf("#all")!=-1)
              return new Integer(
                XSType.EXTENSION|XSType.RESTRICTION|XSType.SUBSTITUTION);
          
          int r = 0;
          
          if(v.indexOf("extension")!=-1)      r|=XSType.EXTENSION;
          if(v.indexOf("restriction")!=-1)    r|=XSType.RESTRICTION;
          if(v.indexOf("substitution")!=-1)   r|=XSType.SUBSTITUTION;
          
          return new Integer(r);
        }
      
  }
  
  