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 importDecl extends NGCCHandler {
      private String ns;
      private String schemaLocation;
      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 importDecl(NGCCHandler parent, NGCCEventSource source, NGCCRuntimeEx runtime, int cookie) {
          super(source, parent, cookie);
          $runtime = runtime;
          $_ngcc_current_state = 12;
      }
  
      public importDecl(NGCCRuntimeEx runtime) {
          this(null, runtime, runtime, -1);
      }
  
      private void action0()throws SAXException {
          
  			if(ns==null)    ns="";
      	$runtime.importSchema( ns,schemaLocation );
  		
  }
  
      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 8:
              {
                  if(($ai = $runtime.getAttributeIndex("","namespace"))>=0) {
                      $runtime.consumeAttribute($ai);
                      $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
                  }
                  else {
                      $_ngcc_current_state = 4;
                      $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
                  }
              }
              break;
          case 4:
              {
                  if(($ai = $runtime.getAttributeIndex("","schemaLocation"))>=0) {
                      $runtime.consumeAttribute($ai);
                      $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
                  }
                  else {
                      $_ngcc_current_state = 2;
                      $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
                  }
              }
              break;
          case 2:
              {
                  if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
                      NGCCHandler h = new annotation(this, super._source, $runtime, 267, null,AnnotationContext.SCHEMA);
                      spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                  }
                  else {
                      $_ngcc_current_state = 1;
                      $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
                  }
              }
              break;
          case 0:
              {
                  revertToParentFromEnterElement(this, super._cookie, $__uri, $__local, $__qname, $attrs);
              }
              break;
          case 12:
              {
                  if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("import"))) {
                      $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
                      $_ngcc_current_state = 8;
                  }
                  else {
                      unexpectedEnterElement($__qname);
                  }
              }
              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 8:
              {
                  if(($ai = $runtime.getAttributeIndex("","namespace"))>=0) {
                      $runtime.consumeAttribute($ai);
                      $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
                  }
                  else {
                      $_ngcc_current_state = 4;
                      $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
                  }
              }
              break;
          case 4:
              {
                  if(($ai = $runtime.getAttributeIndex("","schemaLocation"))>=0) {
                      $runtime.consumeAttribute($ai);
                      $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
                  }
                  else {
                      $_ngcc_current_state = 2;
                      $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
                  }
              }
              break;
          case 1:
              {
                  if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("import"))) {
                      $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
                      $_ngcc_current_state = 0;
                      action0();
                  }
                  else {
                      unexpectedLeaveElement($__qname);
                  }
              }
              break;
          case 2:
              {
                  $_ngcc_current_state = 1;
                  $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
              }
              break;
          case 0:
              {
                  revertToParentFromLeaveElement(this, 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 8:
              {
                  if(($__uri.equals("") && $__local.equals("namespace"))) {
                      $_ngcc_current_state = 10;
                  }
                  else {
                      $_ngcc_current_state = 4;
                      $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
                  }
              }
              break;
          case 4:
              {
                  if(($__uri.equals("") && $__local.equals("schemaLocation"))) {
                      $_ngcc_current_state = 6;
                  }
                  else {
                      $_ngcc_current_state = 2;
                      $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
                  }
              }
              break;
          case 2:
              {
                  $_ngcc_current_state = 1;
                  $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
              }
              break;
          case 0:
              {
                  revertToParentFromEnterAttribute(this, 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 8:
              {
                  $_ngcc_current_state = 4;
                  $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
              }
              break;
          case 4:
              {
                  $_ngcc_current_state = 2;
                  $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
              }
              break;
          case 9:
              {
                  if(($__uri.equals("") && $__local.equals("namespace"))) {
                      $_ngcc_current_state = 4;
                  }
                  else {
                      unexpectedLeaveAttribute($__qname);
                  }
              }
              break;
          case 2:
              {
                  $_ngcc_current_state = 1;
                  $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
              }
              break;
          case 0:
              {
                  revertToParentFromLeaveAttribute(this, super._cookie, $__uri, $__local, $__qname);
              }
              break;
          case 5:
              {
                  if(($__uri.equals("") && $__local.equals("schemaLocation"))) {
                      $_ngcc_current_state = 2;
                  }
                  else {
                      unexpectedLeaveAttribute($__qname);
                  }
              }
              break;
          default:
              {
                  unexpectedLeaveAttribute($__qname);
              }
              break;
          }
      }
  
      public void text(String $value) throws SAXException {
          int $ai;
          switch($_ngcc_current_state) {
          case 8:
              {
                  if(($ai = $runtime.getAttributeIndex("","namespace"))>=0) {
                      $runtime.consumeAttribute($ai);
                      $runtime.sendText(super._cookie, $value);
                  }
                  else {
                      $_ngcc_current_state = 4;
                      $runtime.sendText(super._cookie, $value);
                  }
              }
              break;
          case 4:
              {
                  if(($ai = $runtime.getAttributeIndex("","schemaLocation"))>=0) {
                      $runtime.consumeAttribute($ai);
                      $runtime.sendText(super._cookie, $value);
                  }
                  else {
                      $_ngcc_current_state = 2;
                      $runtime.sendText(super._cookie, $value);
                  }
              }
              break;
          case 6:
              {
                  schemaLocation = $value;
                  $_ngcc_current_state = 5;
              }
              break;
          case 10:
              {
                  ns = $value;
                  $_ngcc_current_state = 9;
              }
              break;
          case 2:
              {
                  $_ngcc_current_state = 1;
                  $runtime.sendText(super._cookie, $value);
              }
              break;
          case 0:
              {
                  revertToParentFromText(this, super._cookie, $value);
              }
              break;
          }
      }
  
      public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
          switch($__cookie__) {
          case 267:
              {
                  $_ngcc_current_state = 1;
              }
              break;
          }
      }
  
      public boolean accepted() {
          return(($_ngcc_current_state == 0));
      }
  
  
  }
  
  