[relaxngcc] 01/01: add bootstrap files as a patch
Timo Aaltonen
tjaalton-guest at moszumanska.debian.org
Wed Feb 26 14:47:13 UTC 2014
This is an automated email from the git hooks/post-receive script.
tjaalton-guest pushed a commit to branch master
in repository relaxngcc.
commit 144987758703af916da25e512ff78225d259ef32
Author: Timo Aaltonen <tjaalton at ubuntu.com>
Date: Wed Feb 26 16:47:07 2014 +0200
add bootstrap files as a patch
---
debian/patches/bootstrap-files.diff | 8802 +++++++++++++++++++++++++++++++++++
debian/patches/series | 1 +
2 files changed, 8803 insertions(+)
diff --git a/debian/patches/bootstrap-files.diff b/debian/patches/bootstrap-files.diff
new file mode 100644
index 0000000..5ed08d7
--- /dev/null
+++ b/debian/patches/bootstrap-files.diff
@@ -0,0 +1,8802 @@
+Author: Timo Aaltonen <tjaalton at ubuntu.com>
+Date: Wed Feb 26 16:44:11 2014 +0200
+
+ add pregenerated files for bootstrapping
+
+diff --git a/src/relaxngcc/datatype/parser/Start.java b/src/relaxngcc/datatype/parser/Start.java
+new file mode 100644
+index 0000000..0427274
+--- /dev/null
++++ b/src/relaxngcc/datatype/parser/Start.java
+@@ -0,0 +1,319 @@
++/* this file is generated by RelaxNGCC */
++package relaxngcc.datatype.parser;
++import org.xml.sax.SAXException;
++import org.xml.sax.Attributes;
++import relaxngcc.datatype.ParserRuntime;
++
++
++
++public class Start extends NGCCHandler {
++ private String uri;
++ protected final ParserRuntime $runtime;
++ private int $_ngcc_current_state;
++ protected String $uri;
++ protected String $localName;
++ protected String $qname;
++
++ public final NGCCRuntime getRuntime() {
++ return($runtime);
++ }
++
++ public Start(NGCCHandler parent, NGCCEventSource source, ParserRuntime runtime, int cookie) {
++ super(source, parent, cookie);
++ $runtime = runtime;
++ $_ngcc_current_state = 9;
++ }
++
++ public Start(ParserRuntime runtime) {
++ this(null, runtime, runtime, -1);
++ }
++
++ private void action0()throws SAXException {
++ $runtime.setURI(uri);
++}
++
++ 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 9:
++ {
++ if(($__uri == "" && $__local == "datatypeLibrary")) {
++ $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
++ $_ngcc_current_state = 8;
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ case 4:
++ {
++ if(($__uri == "" && $__local == "resource")) {
++ NGCCHandler h = new resource(this, super._source, $runtime, 528);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ $_ngcc_current_state = 2;
++ $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ }
++ break;
++ case 2:
++ {
++ if(($__uri == "" && $__local == "resource")) {
++ NGCCHandler h = new resource(this, super._source, $runtime, 527);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ if(($__uri == "" && $__local == "datatype")) {
++ NGCCHandler h = new datatype(this, super._source, $runtime, 524);
++ 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 1:
++ {
++ if(($__uri == "" && $__local == "datatype")) {
++ NGCCHandler h = new datatype(this, super._source, $runtime, 523);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ case 8:
++ {
++ if(($ai = $runtime.getAttributeIndex("","uri"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ 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 4:
++ {
++ $_ngcc_current_state = 2;
++ $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__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;
++ case 1:
++ {
++ if(($__uri == "" && $__local == "datatypeLibrary")) {
++ $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
++ $_ngcc_current_state = 0;
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 8:
++ {
++ if(($ai = $runtime.getAttributeIndex("","uri"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ default:
++ {
++ unexpectedLeaveElement($__qname);
++ }
++ break;
++ }
++ }
++
++ public void enterAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 4:
++ {
++ $_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;
++ case 8:
++ {
++ if(($__uri == "" && $__local == "uri")) {
++ $_ngcc_current_state = 7;
++ }
++ else {
++ unexpectedEnterAttribute($__qname);
++ }
++ }
++ break;
++ default:
++ {
++ unexpectedEnterAttribute($__qname);
++ }
++ break;
++ }
++ }
++
++ public void leaveAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 4:
++ {
++ $_ngcc_current_state = 2;
++ $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 6:
++ {
++ if(($__uri == "" && $__local == "uri")) {
++ $_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;
++ default:
++ {
++ unexpectedLeaveAttribute($__qname);
++ }
++ break;
++ }
++ }
++
++ public void text(String $value) throws SAXException {
++ int $ai;
++ switch($_ngcc_current_state) {
++ case 4:
++ {
++ $_ngcc_current_state = 2;
++ $runtime.sendText(super._cookie, $value);
++ }
++ break;
++ case 2:
++ {
++ $_ngcc_current_state = 1;
++ $runtime.sendText(super._cookie, $value);
++ }
++ break;
++ case 0:
++ {
++ revertToParentFromText(this, super._cookie, $value);
++ }
++ break;
++ case 7:
++ {
++ uri = $value;
++ $_ngcc_current_state = 6;
++ action0();
++ }
++ break;
++ case 8:
++ {
++ if(($ai = $runtime.getAttributeIndex("","uri"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendText(super._cookie, $value);
++ }
++ }
++ break;
++ }
++ }
++
++ public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
++ switch($__cookie__) {
++ case 528:
++ {
++ $_ngcc_current_state = 2;
++ }
++ break;
++ case 527:
++ {
++ $_ngcc_current_state = 2;
++ }
++ break;
++ case 524:
++ {
++ $_ngcc_current_state = 1;
++ }
++ break;
++ case 523:
++ {
++ $_ngcc_current_state = 1;
++ }
++ break;
++ }
++ }
++
++ public boolean accepted() {
++ return(($_ngcc_current_state == 0));
++ }
++
++
++}
++
+diff --git a/src/relaxngcc/datatype/parser/datatype.java b/src/relaxngcc/datatype/parser/datatype.java
+new file mode 100644
+index 0000000..0737a11
+--- /dev/null
++++ b/src/relaxngcc/datatype/parser/datatype.java
+@@ -0,0 +1,420 @@
++/* this file is generated by RelaxNGCC */
++package relaxngcc.datatype.parser;
++import org.xml.sax.SAXException;
++import org.xml.sax.Attributes;
++import relaxngcc.datatype.ParserRuntime;
++
++import relaxngcc.datatype.*;
++
++
++class datatype extends NGCCHandler {
++ private String resName;
++ private Macro m;
++ private String name;
++ private String javaType;
++ protected final ParserRuntime $runtime;
++ private int $_ngcc_current_state;
++ protected String $uri;
++ protected String $localName;
++ protected String $qname;
++
++ public final NGCCRuntime getRuntime() {
++ return($runtime);
++ }
++
++ public datatype(NGCCHandler parent, NGCCEventSource source, ParserRuntime runtime, int cookie) {
++ super(source, parent, cookie);
++ $runtime = runtime;
++ $_ngcc_current_state = 15;
++ }
++
++ public datatype(ParserRuntime runtime) {
++ this(null, runtime, runtime, -1);
++ }
++
++ private void action0()throws SAXException {
++ $runtime.createDatatype(name,javaType,resources,m);
++}
++
++ private void action1()throws SAXException {
++ resources.add( $runtime.getResource(resName) );
++}
++
++ 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 14:
++ {
++ if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ case 11:
++ {
++ if(($ai = $runtime.getAttributeIndex("","javaType"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ case 3:
++ {
++ if(($__uri == "" && $__local == "useResource")) {
++ $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
++ $_ngcc_current_state = 7;
++ }
++ else {
++ $_ngcc_current_state = 2;
++ $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ }
++ break;
++ case 15:
++ {
++ if(($__uri == "" && $__local == "datatype")) {
++ $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
++ $_ngcc_current_state = 14;
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ case 0:
++ {
++ revertToParentFromEnterElement(this, super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ break;
++ case 2:
++ {
++ if(($__uri == "" && $__local == "useResource")) {
++ $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
++ $_ngcc_current_state = 7;
++ }
++ else {
++ if($__uri.equals("")) {
++ NGCCHandler h = new macro(this, super._source, $runtime, 541);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ }
++ break;
++ case 7:
++ {
++ if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ 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 1:
++ {
++ if(($__uri == "" && $__local == "datatype")) {
++ $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
++ $_ngcc_current_state = 0;
++ action0();
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 14:
++ {
++ if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 11:
++ {
++ if(($ai = $runtime.getAttributeIndex("","javaType"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 4:
++ {
++ if(($__uri == "" && $__local == "useResource")) {
++ $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
++ $_ngcc_current_state = 2;
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 3:
++ {
++ $_ngcc_current_state = 2;
++ $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 0:
++ {
++ revertToParentFromLeaveElement(this, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 2:
++ {
++ if(($__uri == "" && $__local == "datatype")) {
++ NGCCHandler h = new macro(this, super._source, $runtime, 541);
++ spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 7:
++ {
++ if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ default:
++ {
++ unexpectedLeaveElement($__qname);
++ }
++ break;
++ }
++ }
++
++ public void enterAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 14:
++ {
++ if(($__uri == "" && $__local == "name")) {
++ $_ngcc_current_state = 13;
++ }
++ else {
++ unexpectedEnterAttribute($__qname);
++ }
++ }
++ break;
++ case 11:
++ {
++ if(($__uri == "" && $__local == "javaType")) {
++ $_ngcc_current_state = 10;
++ }
++ else {
++ unexpectedEnterAttribute($__qname);
++ }
++ }
++ break;
++ case 3:
++ {
++ $_ngcc_current_state = 2;
++ $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 0:
++ {
++ revertToParentFromEnterAttribute(this, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 7:
++ {
++ if(($__uri == "" && $__local == "name")) {
++ $_ngcc_current_state = 6;
++ }
++ else {
++ unexpectedEnterAttribute($__qname);
++ }
++ }
++ break;
++ default:
++ {
++ unexpectedEnterAttribute($__qname);
++ }
++ break;
++ }
++ }
++
++ public void leaveAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 9:
++ {
++ if(($__uri == "" && $__local == "javaType")) {
++ $_ngcc_current_state = 3;
++ }
++ else {
++ unexpectedLeaveAttribute($__qname);
++ }
++ }
++ break;
++ case 5:
++ {
++ if(($__uri == "" && $__local == "name")) {
++ $_ngcc_current_state = 4;
++ action1();
++ }
++ else {
++ unexpectedLeaveAttribute($__qname);
++ }
++ }
++ break;
++ case 12:
++ {
++ if(($__uri == "" && $__local == "name")) {
++ $_ngcc_current_state = 11;
++ }
++ else {
++ unexpectedLeaveAttribute($__qname);
++ }
++ }
++ break;
++ case 3:
++ {
++ $_ngcc_current_state = 2;
++ $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 0:
++ {
++ revertToParentFromLeaveAttribute(this, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ default:
++ {
++ unexpectedLeaveAttribute($__qname);
++ }
++ break;
++ }
++ }
++
++ public void text(String $value) throws SAXException {
++ int $ai;
++ switch($_ngcc_current_state) {
++ case 14:
++ {
++ if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendText(super._cookie, $value);
++ }
++ }
++ break;
++ case 6:
++ {
++ resName = $value;
++ $_ngcc_current_state = 5;
++ }
++ break;
++ case 11:
++ {
++ if(($ai = $runtime.getAttributeIndex("","javaType"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendText(super._cookie, $value);
++ }
++ }
++ break;
++ case 10:
++ {
++ javaType = $value;
++ $_ngcc_current_state = 9;
++ }
++ break;
++ case 3:
++ {
++ $_ngcc_current_state = 2;
++ $runtime.sendText(super._cookie, $value);
++ }
++ break;
++ case 0:
++ {
++ revertToParentFromText(this, super._cookie, $value);
++ }
++ break;
++ case 13:
++ {
++ name = $value;
++ $_ngcc_current_state = 12;
++ }
++ break;
++ case 2:
++ {
++ NGCCHandler h = new macro(this, super._source, $runtime, 541);
++ spawnChildFromText(h, $value);
++ }
++ break;
++ case 7:
++ {
++ if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendText(super._cookie, $value);
++ }
++ }
++ break;
++ }
++ }
++
++ public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
++ switch($__cookie__) {
++ case 541:
++ {
++ m = ((Macro)$__result__);
++ $_ngcc_current_state = 1;
++ }
++ break;
++ }
++ }
++
++ public boolean accepted() {
++ return(($_ngcc_current_state == 0));
++ }
++
++
++ java.util.ArrayList resources = new java.util.ArrayList();
++
++}
++
+diff --git a/src/relaxngcc/datatype/parser/macro.java b/src/relaxngcc/datatype/parser/macro.java
+new file mode 100644
+index 0000000..ed60020
+--- /dev/null
++++ b/src/relaxngcc/datatype/parser/macro.java
+@@ -0,0 +1,193 @@
++/* this file is generated by RelaxNGCC */
++package relaxngcc.datatype.parser;
++import org.xml.sax.SAXException;
++import org.xml.sax.Attributes;
++import relaxngcc.datatype.ParserRuntime;
++
++import relaxngcc.datatype.*;
++
++
++class macro extends NGCCHandler {
++ private String t;
++ protected final ParserRuntime $runtime;
++ private int $_ngcc_current_state;
++ protected String $uri;
++ protected String $localName;
++ protected String $qname;
++
++ public final NGCCRuntime getRuntime() {
++ return($runtime);
++ }
++
++ public macro(NGCCHandler parent, NGCCEventSource source, ParserRuntime runtime, int cookie) {
++ super(source, parent, cookie);
++ $runtime = runtime;
++ $_ngcc_current_state = 1;
++ }
++
++ public macro(ParserRuntime runtime) {
++ this(null, runtime, runtime, -1);
++ }
++
++ private void action0()throws SAXException {
++ m.add(new Macro.Variable($localName,$runtime.getLocator()));
++}
++
++ private void action1()throws SAXException {
++ m.add(t);
++}
++
++ public void enterElement(String $__uri, String $__local, String $__qname, Attributes $attrs) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 1:
++ {
++ if($__uri.equals("")) {
++ $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
++ action0();
++ $_ngcc_current_state = 3;
++ }
++ else {
++ $_ngcc_current_state = 0;
++ $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ }
++ break;
++ case 0:
++ {
++ if($__uri.equals("")) {
++ $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
++ action0();
++ $_ngcc_current_state = 3;
++ }
++ else {
++ revertToParentFromEnterElement(m, super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ }
++ break;
++ default:
++ {
++ unexpectedEnterElement($__qname);
++ }
++ break;
++ }
++ }
++
++ public void leaveElement(String $__uri, String $__local, String $__qname) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 1:
++ {
++ $_ngcc_current_state = 0;
++ $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 0:
++ {
++ revertToParentFromLeaveElement(m, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 3:
++ {
++ if($__uri.equals("")) {
++ $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
++ $_ngcc_current_state = 0;
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ default:
++ {
++ unexpectedLeaveElement($__qname);
++ }
++ break;
++ }
++ }
++
++ public void enterAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 1:
++ {
++ $_ngcc_current_state = 0;
++ $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 0:
++ {
++ revertToParentFromEnterAttribute(m, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ default:
++ {
++ unexpectedEnterAttribute($__qname);
++ }
++ break;
++ }
++ }
++
++ public void leaveAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 1:
++ {
++ $_ngcc_current_state = 0;
++ $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 0:
++ {
++ revertToParentFromLeaveAttribute(m, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ default:
++ {
++ unexpectedLeaveAttribute($__qname);
++ }
++ break;
++ }
++ }
++
++ public void text(String $value) throws SAXException {
++ switch($_ngcc_current_state) {
++ case 1:
++ {
++ t = $value;
++ $_ngcc_current_state = 0;
++ action1();
++ }
++ break;
++ case 0:
++ {
++ t = $value;
++ $_ngcc_current_state = 0;
++ action1();
++ }
++ break;
++ }
++ }
++
++ public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
++ switch($__cookie__) {
++ }
++ }
++
++ public boolean accepted() {
++ return((($_ngcc_current_state == 0) || ($_ngcc_current_state == 1)));
++ }
++
++
++ Macro m = new Macro();
++
++}
++
+diff --git a/src/relaxngcc/datatype/parser/resource.java b/src/relaxngcc/datatype/parser/resource.java
+new file mode 100644
+index 0000000..3b384de
+--- /dev/null
++++ b/src/relaxngcc/datatype/parser/resource.java
+@@ -0,0 +1,246 @@
++/* this file is generated by RelaxNGCC */
++package relaxngcc.datatype.parser;
++import org.xml.sax.SAXException;
++import org.xml.sax.Attributes;
++import relaxngcc.datatype.ParserRuntime;
++
++import relaxngcc.datatype.*;
++
++
++class resource extends NGCCHandler {
++ private Macro m;
++ private String name;
++ protected final ParserRuntime $runtime;
++ private int $_ngcc_current_state;
++ protected String $uri;
++ protected String $localName;
++ protected String $qname;
++
++ public final NGCCRuntime getRuntime() {
++ return($runtime);
++ }
++
++ public resource(NGCCHandler parent, NGCCEventSource source, ParserRuntime runtime, int cookie) {
++ super(source, parent, cookie);
++ $runtime = runtime;
++ $_ngcc_current_state = 6;
++ }
++
++ public resource(ParserRuntime runtime) {
++ this(null, runtime, runtime, -1);
++ }
++
++ private void action0()throws SAXException {
++ $runtime.createResource(name,m);
++}
++
++ 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(this, super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ break;
++ case 2:
++ {
++ if($__uri.equals("")) {
++ NGCCHandler h = new macro(this, super._source, $runtime, 535);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ case 6:
++ {
++ if(($__uri == "" && $__local == "resource")) {
++ $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
++ $_ngcc_current_state = 5;
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ case 5:
++ {
++ if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ 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 0:
++ {
++ revertToParentFromLeaveElement(this, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 2:
++ {
++ if(($__uri == "" && $__local == "resource")) {
++ NGCCHandler h = new macro(this, super._source, $runtime, 535);
++ spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 1:
++ {
++ if(($__uri == "" && $__local == "resource")) {
++ $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
++ $_ngcc_current_state = 0;
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 5:
++ {
++ if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ default:
++ {
++ unexpectedLeaveElement($__qname);
++ }
++ break;
++ }
++ }
++
++ public void enterAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 0:
++ {
++ revertToParentFromEnterAttribute(this, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 5:
++ {
++ if(($__uri == "" && $__local == "name")) {
++ $_ngcc_current_state = 4;
++ }
++ else {
++ unexpectedEnterAttribute($__qname);
++ }
++ }
++ break;
++ default:
++ {
++ unexpectedEnterAttribute($__qname);
++ }
++ break;
++ }
++ }
++
++ public void leaveAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 0:
++ {
++ revertToParentFromLeaveAttribute(this, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 3:
++ {
++ if(($__uri == "" && $__local == "name")) {
++ $_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 4:
++ {
++ name = $value;
++ $_ngcc_current_state = 3;
++ }
++ break;
++ case 0:
++ {
++ revertToParentFromText(this, super._cookie, $value);
++ }
++ break;
++ case 2:
++ {
++ NGCCHandler h = new macro(this, super._source, $runtime, 535);
++ spawnChildFromText(h, $value);
++ }
++ break;
++ case 5:
++ {
++ if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendText(super._cookie, $value);
++ }
++ }
++ break;
++ }
++ }
++
++ public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
++ switch($__cookie__) {
++ case 535:
++ {
++ m = ((Macro)$__result__);
++ action0();
++ $_ngcc_current_state = 1;
++ }
++ break;
++ }
++ }
++
++ public boolean accepted() {
++ return(($_ngcc_current_state == 0));
++ }
++
++
++}
++
+diff --git a/src/relaxngcc/parser/state/DefineElement.java b/src/relaxngcc/parser/state/DefineElement.java
+new file mode 100644
+index 0000000..052dc5d
+--- /dev/null
++++ b/src/relaxngcc/parser/state/DefineElement.java
+@@ -0,0 +1,285 @@
++/* this file is generated by RelaxNGCC */
++package relaxngcc.parser.state;
++import org.xml.sax.SAXException;
++import org.xml.sax.Attributes;
++import relaxngcc.parser.ParserRuntime;
++
++ import relaxngcc.grammar.*;
++ import relaxngcc.datatype.Datatype;
++ import org.xml.sax.Locator;
++
++
++
++class DefineElement extends NGCCHandler {
++ private String name;
++ protected final ParserRuntime $runtime;
++ private int $_ngcc_current_state;
++ protected String $uri;
++ protected String $localName;
++ protected String $qname;
++
++ public final NGCCRuntime getRuntime() {
++ return($runtime);
++ }
++
++ public DefineElement(NGCCHandler parent, NGCCEventSource source, ParserRuntime runtime, int cookie) {
++ super(source, parent, cookie);
++ $runtime = runtime;
++ $_ngcc_current_state = 6;
++ }
++
++ public DefineElement(ParserRuntime 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 5:
++ {
++ if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ case 0:
++ {
++ revertToParentFromEnterElement(this, super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ break;
++ case 2:
++ {
++ if((($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "data") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "element") || (($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "java") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "mixed") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "choice") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "oneOrMore") || (($_ [...]
++ NGCCHandler h = new PatternDefinition(this, super._source, $runtime, 337, $runtime.grammar.getOrCreate($runtime, name));
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ case 6:
++ {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "define")) {
++ $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
++ $_ngcc_current_state = 5;
++ }
++ 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 1:
++ {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "define")) {
++ $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
++ $_ngcc_current_state = 0;
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 5:
++ {
++ if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 0:
++ {
++ revertToParentFromLeaveElement(this, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 2:
++ {
++ if(((($ai = $runtime.getAttributeIndex("","combine"))>=0 && ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "define")) || ((($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","return-value"))>=0 && ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "define")) || ((($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","params"))>=0 && ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "defi [...]
++ NGCCHandler h = new PatternDefinition(this, super._source, $runtime, 337, $runtime.grammar.getOrCreate($runtime, name));
++ spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ default:
++ {
++ unexpectedLeaveElement($__qname);
++ }
++ break;
++ }
++ }
++
++ public void enterAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 5:
++ {
++ if(($__uri == "" && $__local == "name")) {
++ $_ngcc_current_state = 4;
++ }
++ else {
++ unexpectedEnterAttribute($__qname);
++ }
++ }
++ break;
++ case 0:
++ {
++ revertToParentFromEnterAttribute(this, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 2:
++ {
++ if((($__uri == "" && $__local == "combine") || (($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "return-value") || (($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "params") || (($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "class") || (($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "return-type") || ($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "access"))))))) {
++ NGCCHandler h = new PatternDefinition(this, super._source, $runtime, 337, $runtime.grammar.getOrCreate($runtime, name));
++ spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedEnterAttribute($__qname);
++ }
++ }
++ break;
++ default:
++ {
++ unexpectedEnterAttribute($__qname);
++ }
++ break;
++ }
++ }
++
++ public void leaveAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 3:
++ {
++ if(($__uri == "" && $__local == "name")) {
++ $_ngcc_current_state = 2;
++ }
++ else {
++ unexpectedLeaveAttribute($__qname);
++ }
++ }
++ break;
++ case 0:
++ {
++ revertToParentFromLeaveAttribute(this, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ default:
++ {
++ unexpectedLeaveAttribute($__qname);
++ }
++ break;
++ }
++ }
++
++ public void text(String $value) throws SAXException {
++ int $ai;
++ switch($_ngcc_current_state) {
++ case 5:
++ {
++ if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendText(super._cookie, $value);
++ }
++ }
++ break;
++ case 0:
++ {
++ revertToParentFromText(this, super._cookie, $value);
++ }
++ break;
++ case 4:
++ {
++ name = $value;
++ $_ngcc_current_state = 3;
++ }
++ break;
++ case 2:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","access"))>=0) {
++ NGCCHandler h = new PatternDefinition(this, super._source, $runtime, 337, $runtime.grammar.getOrCreate($runtime, name));
++ spawnChildFromText(h, $value);
++ }
++ else {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","return-type"))>=0) {
++ NGCCHandler h = new PatternDefinition(this, super._source, $runtime, 337, $runtime.grammar.getOrCreate($runtime, name));
++ spawnChildFromText(h, $value);
++ }
++ else {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0) {
++ NGCCHandler h = new PatternDefinition(this, super._source, $runtime, 337, $runtime.grammar.getOrCreate($runtime, name));
++ spawnChildFromText(h, $value);
++ }
++ else {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","params"))>=0) {
++ NGCCHandler h = new PatternDefinition(this, super._source, $runtime, 337, $runtime.grammar.getOrCreate($runtime, name));
++ spawnChildFromText(h, $value);
++ }
++ else {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","return-value"))>=0) {
++ NGCCHandler h = new PatternDefinition(this, super._source, $runtime, 337, $runtime.grammar.getOrCreate($runtime, name));
++ spawnChildFromText(h, $value);
++ }
++ else {
++ if(($ai = $runtime.getAttributeIndex("","combine"))>=0) {
++ NGCCHandler h = new PatternDefinition(this, super._source, $runtime, 337, $runtime.grammar.getOrCreate($runtime, name));
++ spawnChildFromText(h, $value);
++ }
++ }
++ }
++ }
++ }
++ }
++ }
++ break;
++ }
++ }
++
++ public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
++ switch($__cookie__) {
++ case 337:
++ {
++ $_ngcc_current_state = 1;
++ }
++ break;
++ }
++ }
++
++ public boolean accepted() {
++ return(($_ngcc_current_state == 0));
++ }
++
++
++}
++
+diff --git a/src/relaxngcc/parser/state/ExceptNameClass.java b/src/relaxngcc/parser/state/ExceptNameClass.java
+new file mode 100644
+index 0000000..afe270a
+--- /dev/null
++++ b/src/relaxngcc/parser/state/ExceptNameClass.java
+@@ -0,0 +1,192 @@
++/* this file is generated by RelaxNGCC */
++package relaxngcc.parser.state;
++import org.xml.sax.SAXException;
++import org.xml.sax.Attributes;
++import relaxngcc.parser.ParserRuntime;
++
++ import relaxngcc.grammar.*;
++ import relaxngcc.datatype.Datatype;
++ import org.xml.sax.Locator;
++
++
++
++class ExceptNameClass extends NGCCHandler {
++ private NameClass nc;
++ protected final ParserRuntime $runtime;
++ private int $_ngcc_current_state;
++ protected String $uri;
++ protected String $localName;
++ protected String $qname;
++
++ public final NGCCRuntime getRuntime() {
++ return($runtime);
++ }
++
++ public ExceptNameClass(NGCCHandler parent, NGCCEventSource source, ParserRuntime runtime, int cookie) {
++ super(source, parent, cookie);
++ $runtime = runtime;
++ $_ngcc_current_state = 1;
++ }
++
++ public ExceptNameClass(ParserRuntime runtime) {
++ this(null, runtime, runtime, -1);
++ }
++
++ public void enterElement(String $__uri, String $__local, String $__qname, Attributes $attrs) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 0:
++ {
++ revertToParentFromEnterElement(nc, super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ break;
++ case 1:
++ {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "except")) {
++ $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
++ $_ngcc_current_state = 3;
++ }
++ else {
++ $_ngcc_current_state = 0;
++ $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ }
++ break;
++ case 3:
++ {
++ if((($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "name") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "nsName") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "anyName") || ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "choice"))))) {
++ NGCCHandler h = new NameClasses(this, super._source, $runtime, 466);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ default:
++ {
++ unexpectedEnterElement($__qname);
++ }
++ break;
++ }
++ }
++
++ public void leaveElement(String $__uri, String $__local, String $__qname) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 0:
++ {
++ revertToParentFromLeaveElement(nc, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 1:
++ {
++ $_ngcc_current_state = 0;
++ $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 2:
++ {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "except")) {
++ $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
++ $_ngcc_current_state = 0;
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ default:
++ {
++ unexpectedLeaveElement($__qname);
++ }
++ break;
++ }
++ }
++
++ public void enterAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 0:
++ {
++ revertToParentFromEnterAttribute(nc, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 1:
++ {
++ $_ngcc_current_state = 0;
++ $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ default:
++ {
++ unexpectedEnterAttribute($__qname);
++ }
++ break;
++ }
++ }
++
++ public void leaveAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 0:
++ {
++ revertToParentFromLeaveAttribute(nc, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 1:
++ {
++ $_ngcc_current_state = 0;
++ $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ default:
++ {
++ unexpectedLeaveAttribute($__qname);
++ }
++ break;
++ }
++ }
++
++ public void text(String $value) throws SAXException {
++ switch($_ngcc_current_state) {
++ case 0:
++ {
++ revertToParentFromText(nc, super._cookie, $value);
++ }
++ break;
++ case 1:
++ {
++ $_ngcc_current_state = 0;
++ $runtime.sendText(super._cookie, $value);
++ }
++ break;
++ }
++ }
++
++ public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
++ switch($__cookie__) {
++ case 466:
++ {
++ nc = ((NameClass)$__result__);
++ $_ngcc_current_state = 2;
++ }
++ break;
++ }
++ }
++
++ public boolean accepted() {
++ return((($_ngcc_current_state == 1) || ($_ngcc_current_state == 0)));
++ }
++
++
++}
++
+diff --git a/src/relaxngcc/parser/state/GrammarContent.java b/src/relaxngcc/parser/state/GrammarContent.java
+new file mode 100644
+index 0000000..4a8a871
+--- /dev/null
++++ b/src/relaxngcc/parser/state/GrammarContent.java
+@@ -0,0 +1,441 @@
++/* this file is generated by RelaxNGCC */
++package relaxngcc.parser.state;
++import org.xml.sax.SAXException;
++import org.xml.sax.Attributes;
++import relaxngcc.parser.ParserRuntime;
++
++ import relaxngcc.grammar.*;
++ import relaxngcc.datatype.Datatype;
++ import org.xml.sax.Locator;
++
++
++
++class GrammarContent extends NGCCHandler {
++ private String href;
++ private String value;
++ protected final ParserRuntime $runtime;
++ private int $_ngcc_current_state;
++ protected String $uri;
++ protected String $localName;
++ protected String $qname;
++
++ public final NGCCRuntime getRuntime() {
++ return($runtime);
++ }
++
++ public GrammarContent(NGCCHandler parent, NGCCEventSource source, ParserRuntime runtime, int cookie) {
++ super(source, parent, cookie);
++ $runtime = runtime;
++ $_ngcc_current_state = 1;
++ }
++
++ public GrammarContent(ParserRuntime runtime) {
++ this(null, runtime, runtime, -1);
++ }
++
++ private void action0()throws SAXException {
++
++ $runtime.processInclude(href);
++
++}
++
++ private void action1()throws SAXException {
++
++ $runtime.getRootRuntime().appendGlobalBody(value);
++
++}
++
++ private void action2()throws SAXException {
++
++ $runtime.getRootRuntime().appendGlobalImport(value);
++
++}
++
++ 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 19:
++ {
++ if((($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "java-import") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "div") || (($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "java-body") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "start") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "define") || ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "include"))))))) {
++ NGCCHandler h = new GrammarContent(this, super._source, $runtime, 358);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ case 0:
++ {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "start")) {
++ NGCCHandler h = new StartElement(this, super._source, $runtime, 379);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "define")) {
++ NGCCHandler h = new DefineElement(this, super._source, $runtime, 380);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "div")) {
++ $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
++ $_ngcc_current_state = 19;
++ }
++ else {
++ if(($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "java-import")) {
++ $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
++ $_ngcc_current_state = 15;
++ }
++ else {
++ if(($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "java-body")) {
++ $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
++ $_ngcc_current_state = 11;
++ }
++ else {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "include")) {
++ $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
++ $_ngcc_current_state = 7;
++ }
++ else {
++ revertToParentFromEnterElement(this, super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ }
++ }
++ }
++ }
++ }
++ }
++ break;
++ case 4:
++ {
++ if((($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "div") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "start") || ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "define")))) {
++ NGCCHandler h = new IncludeContent(this, super._source, $runtime, 343);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ case 1:
++ {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "start")) {
++ NGCCHandler h = new StartElement(this, super._source, $runtime, 385);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "define")) {
++ NGCCHandler h = new DefineElement(this, super._source, $runtime, 386);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "div")) {
++ $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
++ $_ngcc_current_state = 19;
++ }
++ else {
++ if(($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "java-import")) {
++ $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
++ $_ngcc_current_state = 15;
++ }
++ else {
++ if(($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "java-body")) {
++ $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
++ $_ngcc_current_state = 11;
++ }
++ else {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "include")) {
++ $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
++ $_ngcc_current_state = 7;
++ }
++ else {
++ $_ngcc_current_state = 0;
++ $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ }
++ }
++ }
++ }
++ }
++ }
++ break;
++ case 7:
++ {
++ if(($ai = $runtime.getAttributeIndex("","href"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ 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 18:
++ {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "div")) {
++ $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
++ $_ngcc_current_state = 0;
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 19:
++ {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "div")) {
++ NGCCHandler h = new GrammarContent(this, super._source, $runtime, 358);
++ spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 14:
++ {
++ if(($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "java-import")) {
++ $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
++ $_ngcc_current_state = 0;
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 3:
++ {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "include")) {
++ $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
++ $_ngcc_current_state = 0;
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 0:
++ {
++ revertToParentFromLeaveElement(this, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 4:
++ {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "include")) {
++ NGCCHandler h = new IncludeContent(this, super._source, $runtime, 343);
++ spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 10:
++ {
++ if(($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "java-body")) {
++ $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
++ $_ngcc_current_state = 0;
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 1:
++ {
++ $_ngcc_current_state = 0;
++ $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 7:
++ {
++ if(($ai = $runtime.getAttributeIndex("","href"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ default:
++ {
++ unexpectedLeaveElement($__qname);
++ }
++ break;
++ }
++ }
++
++ public void enterAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 0:
++ {
++ revertToParentFromEnterAttribute(this, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 1:
++ {
++ $_ngcc_current_state = 0;
++ $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 7:
++ {
++ if(($__uri == "" && $__local == "href")) {
++ $_ngcc_current_state = 6;
++ }
++ else {
++ unexpectedEnterAttribute($__qname);
++ }
++ }
++ break;
++ default:
++ {
++ unexpectedEnterAttribute($__qname);
++ }
++ break;
++ }
++ }
++
++ public void leaveAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 5:
++ {
++ if(($__uri == "" && $__local == "href")) {
++ $_ngcc_current_state = 4;
++ action0();
++ }
++ else {
++ unexpectedLeaveAttribute($__qname);
++ }
++ }
++ break;
++ case 0:
++ {
++ revertToParentFromLeaveAttribute(this, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 1:
++ {
++ $_ngcc_current_state = 0;
++ $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ default:
++ {
++ unexpectedLeaveAttribute($__qname);
++ }
++ break;
++ }
++ }
++
++ public void text(String $value) throws SAXException {
++ int $ai;
++ switch($_ngcc_current_state) {
++ case 6:
++ {
++ href = $value;
++ $_ngcc_current_state = 5;
++ }
++ break;
++ case 0:
++ {
++ revertToParentFromText(this, super._cookie, $value);
++ }
++ break;
++ case 11:
++ {
++ value = $value;
++ $_ngcc_current_state = 10;
++ action1();
++ }
++ break;
++ case 1:
++ {
++ $_ngcc_current_state = 0;
++ $runtime.sendText(super._cookie, $value);
++ }
++ break;
++ case 7:
++ {
++ if(($ai = $runtime.getAttributeIndex("","href"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendText(super._cookie, $value);
++ }
++ }
++ break;
++ case 15:
++ {
++ value = $value;
++ $_ngcc_current_state = 14;
++ action2();
++ }
++ break;
++ }
++ }
++
++ public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
++ switch($__cookie__) {
++ case 358:
++ {
++ $_ngcc_current_state = 18;
++ }
++ break;
++ case 343:
++ {
++ $_ngcc_current_state = 3;
++ }
++ break;
++ case 379:
++ {
++ $_ngcc_current_state = 0;
++ }
++ break;
++ case 380:
++ {
++ $_ngcc_current_state = 0;
++ }
++ break;
++ case 385:
++ {
++ $_ngcc_current_state = 0;
++ }
++ break;
++ case 386:
++ {
++ $_ngcc_current_state = 0;
++ }
++ break;
++ }
++ }
++
++ public boolean accepted() {
++ return((($_ngcc_current_state == 1) || ($_ngcc_current_state == 0)));
++ }
++
++
++}
++
+diff --git a/src/relaxngcc/parser/state/IncludeContent.java b/src/relaxngcc/parser/state/IncludeContent.java
+new file mode 100644
+index 0000000..43cc4bd
+--- /dev/null
++++ b/src/relaxngcc/parser/state/IncludeContent.java
+@@ -0,0 +1,465 @@
++/* this file is generated by RelaxNGCC */
++package relaxngcc.parser.state;
++import org.xml.sax.SAXException;
++import org.xml.sax.Attributes;
++import relaxngcc.parser.ParserRuntime;
++
++ import relaxngcc.grammar.*;
++ import relaxngcc.datatype.Datatype;
++ import org.xml.sax.Locator;
++
++
++
++class IncludeContent extends NGCCHandler {
++ private String name;
++ protected final ParserRuntime $runtime;
++ private int $_ngcc_current_state;
++ protected String $uri;
++ protected String $localName;
++ protected String $qname;
++
++ public final NGCCRuntime getRuntime() {
++ return($runtime);
++ }
++
++ public IncludeContent(NGCCHandler parent, NGCCEventSource source, ParserRuntime runtime, int cookie) {
++ super(source, parent, cookie);
++ $runtime = runtime;
++ $_ngcc_current_state = 1;
++ }
++
++ public IncludeContent(ParserRuntime 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 11:
++ {
++ if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ case 0:
++ {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "start")) {
++ $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
++ $_ngcc_current_state = 14;
++ }
++ else {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "define")) {
++ $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
++ $_ngcc_current_state = 11;
++ }
++ else {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "div")) {
++ $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
++ $_ngcc_current_state = 4;
++ }
++ else {
++ revertToParentFromEnterElement(this, super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ }
++ }
++ }
++ break;
++ case 4:
++ {
++ if((($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "div") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "start") || ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "define")))) {
++ NGCCHandler h = new IncludeContent(this, super._source, $runtime, 313);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ case 14:
++ {
++ if((($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "data") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "element") || (($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "java") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "mixed") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "choice") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "oneOrMore") || (($_ [...]
++ NGCCHandler h = new PatternDefinition(this, super._source, $runtime, 324, $runtime.grammar);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ case 8:
++ {
++ if((($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "data") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "element") || (($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "java") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "mixed") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "choice") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "oneOrMore") || (($_ [...]
++ NGCCHandler h = new PatternDefinition(this, super._source, $runtime, 317, $runtime.grammar.redefine($runtime, name));
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ case 1:
++ {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "start")) {
++ $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
++ $_ngcc_current_state = 14;
++ }
++ else {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "define")) {
++ $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
++ $_ngcc_current_state = 11;
++ }
++ else {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "div")) {
++ $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
++ $_ngcc_current_state = 4;
++ }
++ else {
++ $_ngcc_current_state = 0;
++ $runtime.sendEnterElement(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 11:
++ {
++ if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 0:
++ {
++ revertToParentFromLeaveElement(this, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 3:
++ {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "div")) {
++ $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
++ $_ngcc_current_state = 0;
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 4:
++ {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "div")) {
++ NGCCHandler h = new IncludeContent(this, super._source, $runtime, 313);
++ spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 7:
++ {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "define")) {
++ $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
++ $_ngcc_current_state = 0;
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 13:
++ {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "start")) {
++ $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
++ $_ngcc_current_state = 0;
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 14:
++ {
++ if(((($ai = $runtime.getAttributeIndex("","combine"))>=0 && ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "start")) || ((($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","return-value"))>=0 && ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "start")) || ((($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","params"))>=0 && ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "start" [...]
++ NGCCHandler h = new PatternDefinition(this, super._source, $runtime, 324, $runtime.grammar);
++ spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 8:
++ {
++ if(((($ai = $runtime.getAttributeIndex("","combine"))>=0 && ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "define")) || ((($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","return-value"))>=0 && ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "define")) || ((($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","params"))>=0 && ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "defi [...]
++ NGCCHandler h = new PatternDefinition(this, super._source, $runtime, 317, $runtime.grammar.redefine($runtime, name));
++ spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 1:
++ {
++ $_ngcc_current_state = 0;
++ $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ default:
++ {
++ unexpectedLeaveElement($__qname);
++ }
++ break;
++ }
++ }
++
++ public void enterAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 11:
++ {
++ if(($__uri == "" && $__local == "name")) {
++ $_ngcc_current_state = 10;
++ }
++ else {
++ unexpectedEnterAttribute($__qname);
++ }
++ }
++ break;
++ case 0:
++ {
++ revertToParentFromEnterAttribute(this, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 14:
++ {
++ if((($__uri == "" && $__local == "combine") || (($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "return-value") || (($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "params") || (($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "class") || (($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "return-type") || ($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "access"))))))) {
++ NGCCHandler h = new PatternDefinition(this, super._source, $runtime, 324, $runtime.grammar);
++ spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedEnterAttribute($__qname);
++ }
++ }
++ break;
++ case 8:
++ {
++ if((($__uri == "" && $__local == "combine") || (($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "return-value") || (($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "params") || (($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "class") || (($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "return-type") || ($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "access"))))))) {
++ NGCCHandler h = new PatternDefinition(this, super._source, $runtime, 317, $runtime.grammar.redefine($runtime, name));
++ spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedEnterAttribute($__qname);
++ }
++ }
++ break;
++ case 1:
++ {
++ $_ngcc_current_state = 0;
++ $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ default:
++ {
++ unexpectedEnterAttribute($__qname);
++ }
++ break;
++ }
++ }
++
++ public void leaveAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 0:
++ {
++ revertToParentFromLeaveAttribute(this, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 9:
++ {
++ if(($__uri == "" && $__local == "name")) {
++ $_ngcc_current_state = 8;
++ }
++ else {
++ unexpectedLeaveAttribute($__qname);
++ }
++ }
++ break;
++ case 1:
++ {
++ $_ngcc_current_state = 0;
++ $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ default:
++ {
++ unexpectedLeaveAttribute($__qname);
++ }
++ break;
++ }
++ }
++
++ public void text(String $value) throws SAXException {
++ int $ai;
++ switch($_ngcc_current_state) {
++ case 11:
++ {
++ if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendText(super._cookie, $value);
++ }
++ }
++ break;
++ case 0:
++ {
++ revertToParentFromText(this, super._cookie, $value);
++ }
++ break;
++ case 10:
++ {
++ name = $value;
++ $_ngcc_current_state = 9;
++ }
++ break;
++ case 14:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","access"))>=0) {
++ NGCCHandler h = new PatternDefinition(this, super._source, $runtime, 324, $runtime.grammar);
++ spawnChildFromText(h, $value);
++ }
++ else {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","return-type"))>=0) {
++ NGCCHandler h = new PatternDefinition(this, super._source, $runtime, 324, $runtime.grammar);
++ spawnChildFromText(h, $value);
++ }
++ else {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0) {
++ NGCCHandler h = new PatternDefinition(this, super._source, $runtime, 324, $runtime.grammar);
++ spawnChildFromText(h, $value);
++ }
++ else {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","params"))>=0) {
++ NGCCHandler h = new PatternDefinition(this, super._source, $runtime, 324, $runtime.grammar);
++ spawnChildFromText(h, $value);
++ }
++ else {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","return-value"))>=0) {
++ NGCCHandler h = new PatternDefinition(this, super._source, $runtime, 324, $runtime.grammar);
++ spawnChildFromText(h, $value);
++ }
++ else {
++ if(($ai = $runtime.getAttributeIndex("","combine"))>=0) {
++ NGCCHandler h = new PatternDefinition(this, super._source, $runtime, 324, $runtime.grammar);
++ spawnChildFromText(h, $value);
++ }
++ }
++ }
++ }
++ }
++ }
++ }
++ break;
++ case 8:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","access"))>=0) {
++ NGCCHandler h = new PatternDefinition(this, super._source, $runtime, 317, $runtime.grammar.redefine($runtime, name));
++ spawnChildFromText(h, $value);
++ }
++ else {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","return-type"))>=0) {
++ NGCCHandler h = new PatternDefinition(this, super._source, $runtime, 317, $runtime.grammar.redefine($runtime, name));
++ spawnChildFromText(h, $value);
++ }
++ else {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0) {
++ NGCCHandler h = new PatternDefinition(this, super._source, $runtime, 317, $runtime.grammar.redefine($runtime, name));
++ spawnChildFromText(h, $value);
++ }
++ else {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","params"))>=0) {
++ NGCCHandler h = new PatternDefinition(this, super._source, $runtime, 317, $runtime.grammar.redefine($runtime, name));
++ spawnChildFromText(h, $value);
++ }
++ else {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","return-value"))>=0) {
++ NGCCHandler h = new PatternDefinition(this, super._source, $runtime, 317, $runtime.grammar.redefine($runtime, name));
++ spawnChildFromText(h, $value);
++ }
++ else {
++ if(($ai = $runtime.getAttributeIndex("","combine"))>=0) {
++ NGCCHandler h = new PatternDefinition(this, super._source, $runtime, 317, $runtime.grammar.redefine($runtime, name));
++ spawnChildFromText(h, $value);
++ }
++ }
++ }
++ }
++ }
++ }
++ }
++ break;
++ case 1:
++ {
++ $_ngcc_current_state = 0;
++ $runtime.sendText(super._cookie, $value);
++ }
++ break;
++ }
++ }
++
++ public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
++ switch($__cookie__) {
++ case 313:
++ {
++ $_ngcc_current_state = 3;
++ }
++ break;
++ case 324:
++ {
++ $_ngcc_current_state = 13;
++ }
++ break;
++ case 317:
++ {
++ $_ngcc_current_state = 7;
++ }
++ break;
++ }
++ }
++
++ public boolean accepted() {
++ return((($_ngcc_current_state == 1) || ($_ngcc_current_state == 0)));
++ }
++
++
++}
++
+diff --git a/src/relaxngcc/parser/state/IncludedGrammarState.java b/src/relaxngcc/parser/state/IncludedGrammarState.java
+new file mode 100644
+index 0000000..ee85990
+--- /dev/null
++++ b/src/relaxngcc/parser/state/IncludedGrammarState.java
+@@ -0,0 +1,176 @@
++/* this file is generated by RelaxNGCC */
++package relaxngcc.parser.state;
++import org.xml.sax.SAXException;
++import org.xml.sax.Attributes;
++import relaxngcc.parser.ParserRuntime;
++
++ import relaxngcc.grammar.*;
++ import relaxngcc.datatype.Datatype;
++ import org.xml.sax.Locator;
++
++
++
++public class IncludedGrammarState extends NGCCHandler {
++ protected final ParserRuntime $runtime;
++ private int $_ngcc_current_state;
++ protected String $uri;
++ protected String $localName;
++ protected String $qname;
++
++ public final NGCCRuntime getRuntime() {
++ return($runtime);
++ }
++
++ public IncludedGrammarState(NGCCHandler parent, NGCCEventSource source, ParserRuntime runtime, int cookie) {
++ super(source, parent, cookie);
++ $runtime = runtime;
++ $_ngcc_current_state = 3;
++ }
++
++ public IncludedGrammarState(ParserRuntime runtime) {
++ this(null, runtime, runtime, -1);
++ }
++
++ public void enterElement(String $__uri, String $__local, String $__qname, Attributes $attrs) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 0:
++ {
++ revertToParentFromEnterElement(this, super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ break;
++ case 2:
++ {
++ if((($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "java-import") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "div") || (($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "java-body") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "start") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "define") || ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "include"))))))) {
++ NGCCHandler h = new GrammarContent(this, super._source, $runtime, 475);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ case 3:
++ {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "grammar")) {
++ $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
++ $_ngcc_current_state = 2;
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ default:
++ {
++ unexpectedEnterElement($__qname);
++ }
++ break;
++ }
++ }
++
++ public void leaveElement(String $__uri, String $__local, String $__qname) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 0:
++ {
++ revertToParentFromLeaveElement(this, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 1:
++ {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "grammar")) {
++ $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
++ $_ngcc_current_state = 0;
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 2:
++ {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "grammar")) {
++ NGCCHandler h = new GrammarContent(this, super._source, $runtime, 475);
++ spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ default:
++ {
++ unexpectedLeaveElement($__qname);
++ }
++ break;
++ }
++ }
++
++ public void enterAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ 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 {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 0:
++ {
++ revertToParentFromLeaveAttribute(this, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ default:
++ {
++ unexpectedLeaveAttribute($__qname);
++ }
++ break;
++ }
++ }
++
++ public void text(String $value) throws SAXException {
++ switch($_ngcc_current_state) {
++ case 0:
++ {
++ revertToParentFromText(this, super._cookie, $value);
++ }
++ break;
++ }
++ }
++
++ public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
++ switch($__cookie__) {
++ case 475:
++ {
++ $_ngcc_current_state = 1;
++ }
++ break;
++ }
++ }
++
++ public boolean accepted() {
++ return(($_ngcc_current_state == 0));
++ }
++
++
++}
++
+diff --git a/src/relaxngcc/parser/state/NGCCDefineParamState.java b/src/relaxngcc/parser/state/NGCCDefineParamState.java
+new file mode 100644
+index 0000000..5373ec5
+--- /dev/null
++++ b/src/relaxngcc/parser/state/NGCCDefineParamState.java
+@@ -0,0 +1,455 @@
++/* this file is generated by RelaxNGCC */
++package relaxngcc.parser.state;
++import org.xml.sax.SAXException;
++import org.xml.sax.Attributes;
++import relaxngcc.parser.ParserRuntime;
++
++ import relaxngcc.grammar.*;
++ import relaxngcc.datatype.Datatype;
++ import org.xml.sax.Locator;
++
++
++
++class NGCCDefineParamState extends NGCCHandler {
++ private String access;
++ private String returnType;
++ private String returnValue;
++ private String className;
++ private String params;
++ protected final ParserRuntime $runtime;
++ private int $_ngcc_current_state;
++ protected String $uri;
++ protected String $localName;
++ protected String $qname;
++
++ public final NGCCRuntime getRuntime() {
++ return($runtime);
++ }
++
++ public NGCCDefineParamState(NGCCHandler parent, NGCCEventSource source, ParserRuntime runtime, int cookie, String _className) {
++ super(source, parent, cookie);
++ $runtime = runtime;
++ this.className = _className;
++ $_ngcc_current_state = 14;
++ }
++
++ public NGCCDefineParamState(ParserRuntime runtime, String _className) {
++ this(null, runtime, runtime, -1, _className);
++ }
++
++ private void action0()throws SAXException {
++
++ param = new NGCCDefineParam($runtime,className,access,returnType,returnValue,params);
++
++}
++
++ 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 10:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","access"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ $_ngcc_current_state = 6;
++ $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ }
++ break;
++ case 2:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","return-value"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ $_ngcc_current_state = 1;
++ $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ }
++ break;
++ case 1:
++ {
++ action0();
++ $_ngcc_current_state = 0;
++ $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ break;
++ case 6:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","return-type"))>=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 14:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","params"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ $_ngcc_current_state = 10;
++ $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ }
++ break;
++ case 0:
++ {
++ revertToParentFromEnterElement(param, 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 10:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","access"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
++ }
++ else {
++ $_ngcc_current_state = 6;
++ $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
++ }
++ }
++ break;
++ case 2:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","return-value"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
++ }
++ else {
++ $_ngcc_current_state = 1;
++ $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
++ }
++ }
++ break;
++ case 1:
++ {
++ action0();
++ $_ngcc_current_state = 0;
++ $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 6:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","return-type"))>=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 14:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","params"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
++ }
++ else {
++ $_ngcc_current_state = 10;
++ $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
++ }
++ }
++ break;
++ case 0:
++ {
++ revertToParentFromLeaveElement(param, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ default:
++ {
++ unexpectedLeaveElement($__qname);
++ }
++ break;
++ }
++ }
++
++ public void enterAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 10:
++ {
++ if(($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "access")) {
++ $_ngcc_current_state = 12;
++ }
++ else {
++ $_ngcc_current_state = 6;
++ $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
++ }
++ }
++ break;
++ case 2:
++ {
++ if(($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "return-value")) {
++ $_ngcc_current_state = 4;
++ }
++ else {
++ $_ngcc_current_state = 1;
++ $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
++ }
++ }
++ break;
++ case 1:
++ {
++ action0();
++ $_ngcc_current_state = 0;
++ $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 6:
++ {
++ if(($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "return-type")) {
++ $_ngcc_current_state = 8;
++ }
++ else {
++ $_ngcc_current_state = 2;
++ $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
++ }
++ }
++ break;
++ case 14:
++ {
++ if(($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "params")) {
++ $_ngcc_current_state = 16;
++ }
++ else {
++ $_ngcc_current_state = 10;
++ $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
++ }
++ }
++ break;
++ case 0:
++ {
++ revertToParentFromEnterAttribute(param, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ default:
++ {
++ unexpectedEnterAttribute($__qname);
++ }
++ break;
++ }
++ }
++
++ public void leaveAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 3:
++ {
++ if(($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "return-value")) {
++ $_ngcc_current_state = 1;
++ }
++ else {
++ unexpectedLeaveAttribute($__qname);
++ }
++ }
++ break;
++ case 10:
++ {
++ $_ngcc_current_state = 6;
++ $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 15:
++ {
++ if(($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "params")) {
++ $_ngcc_current_state = 10;
++ }
++ else {
++ unexpectedLeaveAttribute($__qname);
++ }
++ }
++ break;
++ case 2:
++ {
++ $_ngcc_current_state = 1;
++ $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 11:
++ {
++ if(($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "access")) {
++ $_ngcc_current_state = 6;
++ }
++ else {
++ unexpectedLeaveAttribute($__qname);
++ }
++ }
++ break;
++ case 1:
++ {
++ action0();
++ $_ngcc_current_state = 0;
++ $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 7:
++ {
++ if(($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "return-type")) {
++ $_ngcc_current_state = 2;
++ }
++ else {
++ unexpectedLeaveAttribute($__qname);
++ }
++ }
++ break;
++ case 6:
++ {
++ $_ngcc_current_state = 2;
++ $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 14:
++ {
++ $_ngcc_current_state = 10;
++ $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 0:
++ {
++ revertToParentFromLeaveAttribute(param, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ default:
++ {
++ unexpectedLeaveAttribute($__qname);
++ }
++ break;
++ }
++ }
++
++ public void text(String $value) throws SAXException {
++ int $ai;
++ switch($_ngcc_current_state) {
++ case 12:
++ {
++ access = $value;
++ $_ngcc_current_state = 11;
++ }
++ break;
++ case 10:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","access"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendText(super._cookie, $value);
++ }
++ else {
++ $_ngcc_current_state = 6;
++ $runtime.sendText(super._cookie, $value);
++ }
++ }
++ break;
++ case 16:
++ {
++ params = $value;
++ $_ngcc_current_state = 15;
++ }
++ break;
++ case 2:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","return-value"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendText(super._cookie, $value);
++ }
++ else {
++ $_ngcc_current_state = 1;
++ $runtime.sendText(super._cookie, $value);
++ }
++ }
++ break;
++ case 4:
++ {
++ returnValue = $value;
++ $_ngcc_current_state = 3;
++ }
++ break;
++ case 1:
++ {
++ action0();
++ $_ngcc_current_state = 0;
++ $runtime.sendText(super._cookie, $value);
++ }
++ break;
++ case 8:
++ {
++ returnType = $value;
++ $_ngcc_current_state = 7;
++ }
++ break;
++ case 6:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","return-type"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendText(super._cookie, $value);
++ }
++ else {
++ $_ngcc_current_state = 2;
++ $runtime.sendText(super._cookie, $value);
++ }
++ }
++ break;
++ case 14:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","params"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendText(super._cookie, $value);
++ }
++ else {
++ $_ngcc_current_state = 10;
++ $runtime.sendText(super._cookie, $value);
++ }
++ }
++ break;
++ case 0:
++ {
++ revertToParentFromText(param, super._cookie, $value);
++ }
++ break;
++ }
++ }
++
++ public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
++ switch($__cookie__) {
++ }
++ }
++
++ public boolean accepted() {
++ return((($_ngcc_current_state == 14) || (($_ngcc_current_state == 1) || (($_ngcc_current_state == 0) || (($_ngcc_current_state == 6) || (($_ngcc_current_state == 2) || ($_ngcc_current_state == 10)))))));
++ }
++
++
++ NGCCDefineParam param;
++
++}
++
+diff --git a/src/relaxngcc/parser/state/NGCCLocalClass.java b/src/relaxngcc/parser/state/NGCCLocalClass.java
+new file mode 100644
+index 0000000..af4161c
+--- /dev/null
++++ b/src/relaxngcc/parser/state/NGCCLocalClass.java
+@@ -0,0 +1,385 @@
++/* this file is generated by RelaxNGCC */
++package relaxngcc.parser.state;
++import org.xml.sax.SAXException;
++import org.xml.sax.Attributes;
++import relaxngcc.parser.ParserRuntime;
++
++ import relaxngcc.grammar.*;
++ import relaxngcc.datatype.Datatype;
++ import org.xml.sax.Locator;
++
++
++
++class NGCCLocalClass extends NGCCHandler {
++ private NGCCCallParam cparam;
++ private String name;
++ private Pattern p;
++ private Locator loc;
++ private NGCCDefineParam dparam;
++ protected final ParserRuntime $runtime;
++ private int $_ngcc_current_state;
++ protected String $uri;
++ protected String $localName;
++ protected String $qname;
++
++ public final NGCCRuntime getRuntime() {
++ return($runtime);
++ }
++
++ public NGCCLocalClass(NGCCHandler parent, NGCCEventSource source, ParserRuntime runtime, int cookie, Pattern _p, Locator _loc) {
++ super(source, parent, cookie);
++ $runtime = runtime;
++ this.p = _p;
++ this.loc = _loc;
++ $_ngcc_current_state = 1;
++ }
++
++ public NGCCLocalClass(ParserRuntime runtime, Pattern _p, Locator _loc) {
++ this(null, runtime, runtime, -1, _p, _loc);
++ }
++
++ private void action0()throws SAXException {
++ // wrap it by Scope. Scope will then be turned into a class
++ Scope sc = new Scope($runtime, name);
++ sc.append(p,null);
++ sc.setParam(dparam);
++
++ // further wrap it by RefPattern
++ p = new RefPattern($runtime, loc, sc, cparam );
++}
++
++ 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 1:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ $_ngcc_current_state = 0;
++ $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ }
++ break;
++ case 3:
++ {
++ if((($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","with-params"))>=0 || (($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","alias"))>=0 || (($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","return-type"))>=0 || (($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","return-value"))>=0 || (($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","access"))>=0 || ($ [...]
++ NGCCHandler h = new NGCCcall(this, super._source, $runtime, 419);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ NGCCHandler h = new NGCCcall(this, super._source, $runtime, 419);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ }
++ break;
++ case 0:
++ {
++ revertToParentFromEnterElement(p, super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ break;
++ case 2:
++ {
++ if((($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","return-type"))>=0 || (($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","return-value"))>=0 || (($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","access"))>=0 || ($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","params"))>=0)))) {
++ NGCCHandler h = new NGCCDefineParamState(this, super._source, $runtime, 418, name);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ NGCCHandler h = new NGCCDefineParamState(this, super._source, $runtime, 418, name);
++ spawnChildFromEnterElement(h, $__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 1:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
++ }
++ else {
++ $_ngcc_current_state = 0;
++ $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
++ }
++ }
++ break;
++ case 3:
++ {
++ if((($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","with-params"))>=0 || (($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","alias"))>=0 || (($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","return-type"))>=0 || (($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","return-value"))>=0 || (($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","access"))>=0 || ($ [...]
++ NGCCHandler h = new NGCCcall(this, super._source, $runtime, 419);
++ spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
++ }
++ else {
++ NGCCHandler h = new NGCCcall(this, super._source, $runtime, 419);
++ spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
++ }
++ }
++ break;
++ case 0:
++ {
++ revertToParentFromLeaveElement(p, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 2:
++ {
++ if((($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","return-type"))>=0 || (($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","return-value"))>=0 || (($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","access"))>=0 || ($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","params"))>=0)))) {
++ NGCCHandler h = new NGCCDefineParamState(this, super._source, $runtime, 418, name);
++ spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
++ }
++ else {
++ NGCCHandler h = new NGCCDefineParamState(this, super._source, $runtime, 418, name);
++ spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
++ }
++ }
++ break;
++ default:
++ {
++ unexpectedLeaveElement($__qname);
++ }
++ break;
++ }
++ }
++
++ public void enterAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 1:
++ {
++ if(($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "class")) {
++ $_ngcc_current_state = 5;
++ }
++ else {
++ $_ngcc_current_state = 0;
++ $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
++ }
++ }
++ break;
++ case 3:
++ {
++ if((($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "with-params") || (($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "alias") || (($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "return-type") || (($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "return-value") || (($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "access") || ($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local [...]
++ NGCCHandler h = new NGCCcall(this, super._source, $runtime, 419);
++ spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
++ }
++ else {
++ NGCCHandler h = new NGCCcall(this, super._source, $runtime, 419);
++ spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
++ }
++ }
++ break;
++ case 0:
++ {
++ revertToParentFromEnterAttribute(p, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 2:
++ {
++ if((($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "return-type") || (($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "return-value") || (($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "access") || ($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "params"))))) {
++ NGCCHandler h = new NGCCDefineParamState(this, super._source, $runtime, 418, name);
++ spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
++ }
++ else {
++ NGCCHandler h = new NGCCDefineParamState(this, super._source, $runtime, 418, name);
++ spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
++ }
++ }
++ break;
++ default:
++ {
++ unexpectedEnterAttribute($__qname);
++ }
++ break;
++ }
++ }
++
++ public void leaveAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 1:
++ {
++ $_ngcc_current_state = 0;
++ $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 3:
++ {
++ NGCCHandler h = new NGCCcall(this, super._source, $runtime, 419);
++ spawnChildFromLeaveAttribute(h, $__uri, $__local, $__qname);
++ }
++ break;
++ case 4:
++ {
++ if(($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "class")) {
++ $_ngcc_current_state = 3;
++ }
++ else {
++ unexpectedLeaveAttribute($__qname);
++ }
++ }
++ break;
++ case 0:
++ {
++ revertToParentFromLeaveAttribute(p, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 2:
++ {
++ NGCCHandler h = new NGCCDefineParamState(this, super._source, $runtime, 418, name);
++ spawnChildFromLeaveAttribute(h, $__uri, $__local, $__qname);
++ }
++ break;
++ default:
++ {
++ unexpectedLeaveAttribute($__qname);
++ }
++ break;
++ }
++ }
++
++ public void text(String $value) throws SAXException {
++ int $ai;
++ switch($_ngcc_current_state) {
++ case 1:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendText(super._cookie, $value);
++ }
++ else {
++ $_ngcc_current_state = 0;
++ $runtime.sendText(super._cookie, $value);
++ }
++ }
++ break;
++ case 3:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","params"))>=0) {
++ NGCCHandler h = new NGCCcall(this, super._source, $runtime, 419);
++ spawnChildFromText(h, $value);
++ }
++ else {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","access"))>=0) {
++ NGCCHandler h = new NGCCcall(this, super._source, $runtime, 419);
++ spawnChildFromText(h, $value);
++ }
++ else {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","return-value"))>=0) {
++ NGCCHandler h = new NGCCcall(this, super._source, $runtime, 419);
++ spawnChildFromText(h, $value);
++ }
++ else {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","return-type"))>=0) {
++ NGCCHandler h = new NGCCcall(this, super._source, $runtime, 419);
++ spawnChildFromText(h, $value);
++ }
++ else {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","alias"))>=0) {
++ NGCCHandler h = new NGCCcall(this, super._source, $runtime, 419);
++ spawnChildFromText(h, $value);
++ }
++ else {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","with-params"))>=0) {
++ NGCCHandler h = new NGCCcall(this, super._source, $runtime, 419);
++ spawnChildFromText(h, $value);
++ }
++ else {
++ NGCCHandler h = new NGCCcall(this, super._source, $runtime, 419);
++ spawnChildFromText(h, $value);
++ }
++ }
++ }
++ }
++ }
++ }
++ }
++ break;
++ case 0:
++ {
++ revertToParentFromText(p, super._cookie, $value);
++ }
++ break;
++ case 5:
++ {
++ name = $value;
++ $_ngcc_current_state = 4;
++ }
++ break;
++ case 2:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","params"))>=0) {
++ NGCCHandler h = new NGCCDefineParamState(this, super._source, $runtime, 418, name);
++ spawnChildFromText(h, $value);
++ }
++ else {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","access"))>=0) {
++ NGCCHandler h = new NGCCDefineParamState(this, super._source, $runtime, 418, name);
++ spawnChildFromText(h, $value);
++ }
++ else {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","return-value"))>=0) {
++ NGCCHandler h = new NGCCDefineParamState(this, super._source, $runtime, 418, name);
++ spawnChildFromText(h, $value);
++ }
++ else {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","return-type"))>=0) {
++ NGCCHandler h = new NGCCDefineParamState(this, super._source, $runtime, 418, name);
++ spawnChildFromText(h, $value);
++ }
++ else {
++ NGCCHandler h = new NGCCDefineParamState(this, super._source, $runtime, 418, name);
++ spawnChildFromText(h, $value);
++ }
++ }
++ }
++ }
++ }
++ break;
++ }
++ }
++
++ public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
++ switch($__cookie__) {
++ case 419:
++ {
++ cparam = ((NGCCCallParam)$__result__);
++ $_ngcc_current_state = 2;
++ }
++ break;
++ case 418:
++ {
++ dparam = ((NGCCDefineParam)$__result__);
++ action0();
++ $_ngcc_current_state = 0;
++ }
++ break;
++ }
++ }
++
++ public boolean accepted() {
++ return((($_ngcc_current_state == 0) || ($_ngcc_current_state == 1)));
++ }
++
++
++}
++
+diff --git a/src/relaxngcc/parser/state/NGCCalias.java b/src/relaxngcc/parser/state/NGCCalias.java
+new file mode 100644
+index 0000000..7fe8861
+--- /dev/null
++++ b/src/relaxngcc/parser/state/NGCCalias.java
+@@ -0,0 +1,200 @@
++/* this file is generated by RelaxNGCC */
++package relaxngcc.parser.state;
++import org.xml.sax.SAXException;
++import org.xml.sax.Attributes;
++import relaxngcc.parser.ParserRuntime;
++
++ import relaxngcc.grammar.*;
++ import relaxngcc.datatype.Datatype;
++ import org.xml.sax.Locator;
++
++
++
++class NGCCalias extends NGCCHandler {
++ private String alias;
++ protected final ParserRuntime $runtime;
++ private int $_ngcc_current_state;
++ protected String $uri;
++ protected String $localName;
++ protected String $qname;
++
++ public final NGCCRuntime getRuntime() {
++ return($runtime);
++ }
++
++ public NGCCalias(NGCCHandler parent, NGCCEventSource source, ParserRuntime runtime, int cookie) {
++ super(source, parent, cookie);
++ $runtime = runtime;
++ $_ngcc_current_state = 1;
++ }
++
++ public NGCCalias(ParserRuntime 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(alias, super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ break;
++ case 1:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","alias"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ $_ngcc_current_state = 0;
++ $runtime.sendEnterElement(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(alias, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 1:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","alias"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
++ }
++ else {
++ $_ngcc_current_state = 0;
++ $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
++ }
++ }
++ break;
++ default:
++ {
++ unexpectedLeaveElement($__qname);
++ }
++ break;
++ }
++ }
++
++ public void enterAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 0:
++ {
++ revertToParentFromEnterAttribute(alias, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 1:
++ {
++ if(($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "alias")) {
++ $_ngcc_current_state = 3;
++ }
++ else {
++ $_ngcc_current_state = 0;
++ $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
++ }
++ }
++ break;
++ default:
++ {
++ unexpectedEnterAttribute($__qname);
++ }
++ break;
++ }
++ }
++
++ public void leaveAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 0:
++ {
++ revertToParentFromLeaveAttribute(alias, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 2:
++ {
++ if(($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "alias")) {
++ $_ngcc_current_state = 0;
++ }
++ else {
++ unexpectedLeaveAttribute($__qname);
++ }
++ }
++ break;
++ case 1:
++ {
++ $_ngcc_current_state = 0;
++ $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ default:
++ {
++ unexpectedLeaveAttribute($__qname);
++ }
++ break;
++ }
++ }
++
++ public void text(String $value) throws SAXException {
++ int $ai;
++ switch($_ngcc_current_state) {
++ case 0:
++ {
++ revertToParentFromText(alias, super._cookie, $value);
++ }
++ break;
++ case 3:
++ {
++ alias = $value;
++ $_ngcc_current_state = 2;
++ }
++ break;
++ case 1:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","alias"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendText(super._cookie, $value);
++ }
++ else {
++ $_ngcc_current_state = 0;
++ $runtime.sendText(super._cookie, $value);
++ }
++ }
++ break;
++ }
++ }
++
++ public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
++ switch($__cookie__) {
++ }
++ }
++
++ public boolean accepted() {
++ return((($_ngcc_current_state == 1) || ($_ngcc_current_state == 0)));
++ }
++
++
++}
++
+diff --git a/src/relaxngcc/parser/state/NGCCcall.java b/src/relaxngcc/parser/state/NGCCcall.java
+new file mode 100644
+index 0000000..3c0d793
+--- /dev/null
++++ b/src/relaxngcc/parser/state/NGCCcall.java
+@@ -0,0 +1,270 @@
++/* this file is generated by RelaxNGCC */
++package relaxngcc.parser.state;
++import org.xml.sax.SAXException;
++import org.xml.sax.Attributes;
++import relaxngcc.parser.ParserRuntime;
++
++ import relaxngcc.grammar.*;
++ import relaxngcc.datatype.Datatype;
++ import org.xml.sax.Locator;
++
++
++
++class NGCCcall extends NGCCHandler {
++ private String alias;
++ private String withParams;
++ protected final ParserRuntime $runtime;
++ private int $_ngcc_current_state;
++ protected String $uri;
++ protected String $localName;
++ protected String $qname;
++
++ public final NGCCRuntime getRuntime() {
++ return($runtime);
++ }
++
++ public NGCCcall(NGCCHandler parent, NGCCEventSource source, ParserRuntime runtime, int cookie) {
++ super(source, parent, cookie);
++ $runtime = runtime;
++ $_ngcc_current_state = 2;
++ }
++
++ public NGCCcall(ParserRuntime runtime) {
++ this(null, runtime, runtime, -1);
++ }
++
++ private void action0()throws SAXException {
++
++ param = new NGCCCallParam($runtime, withParams, alias);
++
++}
++
++ 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 1:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","alias"))>=0) {
++ NGCCHandler h = new NGCCalias(this, super._source, $runtime, 451);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ NGCCHandler h = new NGCCalias(this, super._source, $runtime, 451);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ }
++ break;
++ case 2:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","with-params"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ $_ngcc_current_state = 1;
++ $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ }
++ break;
++ case 0:
++ {
++ revertToParentFromEnterElement(param, 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 1:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","alias"))>=0) {
++ NGCCHandler h = new NGCCalias(this, super._source, $runtime, 451);
++ spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
++ }
++ else {
++ NGCCHandler h = new NGCCalias(this, super._source, $runtime, 451);
++ spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
++ }
++ }
++ break;
++ case 2:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","with-params"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
++ }
++ else {
++ $_ngcc_current_state = 1;
++ $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
++ }
++ }
++ break;
++ case 0:
++ {
++ revertToParentFromLeaveElement(param, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ default:
++ {
++ unexpectedLeaveElement($__qname);
++ }
++ break;
++ }
++ }
++
++ public void enterAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 1:
++ {
++ if(($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "alias")) {
++ NGCCHandler h = new NGCCalias(this, super._source, $runtime, 451);
++ spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
++ }
++ else {
++ NGCCHandler h = new NGCCalias(this, super._source, $runtime, 451);
++ spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
++ }
++ }
++ break;
++ case 2:
++ {
++ if(($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "with-params")) {
++ $_ngcc_current_state = 4;
++ }
++ else {
++ $_ngcc_current_state = 1;
++ $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
++ }
++ }
++ break;
++ case 0:
++ {
++ revertToParentFromEnterAttribute(param, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ default:
++ {
++ unexpectedEnterAttribute($__qname);
++ }
++ break;
++ }
++ }
++
++ public void leaveAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 3:
++ {
++ if(($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "with-params")) {
++ $_ngcc_current_state = 1;
++ }
++ else {
++ unexpectedLeaveAttribute($__qname);
++ }
++ }
++ break;
++ case 1:
++ {
++ NGCCHandler h = new NGCCalias(this, super._source, $runtime, 451);
++ spawnChildFromLeaveAttribute(h, $__uri, $__local, $__qname);
++ }
++ break;
++ case 2:
++ {
++ $_ngcc_current_state = 1;
++ $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 0:
++ {
++ revertToParentFromLeaveAttribute(param, 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:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","alias"))>=0) {
++ NGCCHandler h = new NGCCalias(this, super._source, $runtime, 451);
++ spawnChildFromText(h, $value);
++ }
++ else {
++ NGCCHandler h = new NGCCalias(this, super._source, $runtime, 451);
++ spawnChildFromText(h, $value);
++ }
++ }
++ break;
++ case 2:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","with-params"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendText(super._cookie, $value);
++ }
++ else {
++ $_ngcc_current_state = 1;
++ $runtime.sendText(super._cookie, $value);
++ }
++ }
++ break;
++ case 4:
++ {
++ withParams = $value;
++ $_ngcc_current_state = 3;
++ }
++ break;
++ case 0:
++ {
++ revertToParentFromText(param, super._cookie, $value);
++ }
++ break;
++ }
++ }
++
++ public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
++ switch($__cookie__) {
++ case 451:
++ {
++ alias = ((String)$__result__);
++ action0();
++ $_ngcc_current_state = 0;
++ }
++ break;
++ }
++ }
++
++ public boolean accepted() {
++ return(($_ngcc_current_state == 0));
++ }
++
++
++ NGCCCallParam param;
++
++}
++
+diff --git a/src/relaxngcc/parser/state/NGCCdefine.java b/src/relaxngcc/parser/state/NGCCdefine.java
+new file mode 100644
+index 0000000..ae66aed
+--- /dev/null
++++ b/src/relaxngcc/parser/state/NGCCdefine.java
+@@ -0,0 +1,280 @@
++/* this file is generated by RelaxNGCC */
++package relaxngcc.parser.state;
++import org.xml.sax.SAXException;
++import org.xml.sax.Attributes;
++import relaxngcc.parser.ParserRuntime;
++
++ import relaxngcc.grammar.*;
++ import relaxngcc.datatype.Datatype;
++ import org.xml.sax.Locator;
++
++
++
++class NGCCdefine extends NGCCHandler {
++ private String className;
++ private NGCCDefineParam param;
++ protected final ParserRuntime $runtime;
++ private int $_ngcc_current_state;
++ protected String $uri;
++ protected String $localName;
++ protected String $qname;
++
++ public final NGCCRuntime getRuntime() {
++ return($runtime);
++ }
++
++ public NGCCdefine(NGCCHandler parent, NGCCEventSource source, ParserRuntime runtime, int cookie, String _className) {
++ super(source, parent, cookie);
++ $runtime = runtime;
++ this.className = _className;
++ $_ngcc_current_state = 2;
++ }
++
++ public NGCCdefine(ParserRuntime runtime, String _className) {
++ this(null, runtime, runtime, -1, _className);
++ }
++
++ 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 1:
++ {
++ if((($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","return-type"))>=0 || (($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","return-value"))>=0 || (($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","access"))>=0 || ($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","params"))>=0)))) {
++ NGCCHandler h = new NGCCDefineParamState(this, super._source, $runtime, 459, className);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ NGCCHandler h = new NGCCDefineParamState(this, super._source, $runtime, 459, className);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ }
++ break;
++ case 2:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ $_ngcc_current_state = 1;
++ $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ }
++ break;
++ case 0:
++ {
++ revertToParentFromEnterElement(param, 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 1:
++ {
++ if((($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","return-type"))>=0 || (($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","return-value"))>=0 || (($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","access"))>=0 || ($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","params"))>=0)))) {
++ NGCCHandler h = new NGCCDefineParamState(this, super._source, $runtime, 459, className);
++ spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
++ }
++ else {
++ NGCCHandler h = new NGCCDefineParamState(this, super._source, $runtime, 459, className);
++ spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
++ }
++ }
++ break;
++ case 2:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
++ }
++ else {
++ $_ngcc_current_state = 1;
++ $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
++ }
++ }
++ break;
++ case 0:
++ {
++ revertToParentFromLeaveElement(param, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ default:
++ {
++ unexpectedLeaveElement($__qname);
++ }
++ break;
++ }
++ }
++
++ public void enterAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 1:
++ {
++ if((($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "return-type") || (($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "return-value") || (($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "access") || ($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "params"))))) {
++ NGCCHandler h = new NGCCDefineParamState(this, super._source, $runtime, 459, className);
++ spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
++ }
++ else {
++ NGCCHandler h = new NGCCDefineParamState(this, super._source, $runtime, 459, className);
++ spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
++ }
++ }
++ break;
++ case 2:
++ {
++ if(($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "class")) {
++ $_ngcc_current_state = 4;
++ }
++ else {
++ $_ngcc_current_state = 1;
++ $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
++ }
++ }
++ break;
++ case 0:
++ {
++ revertToParentFromEnterAttribute(param, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ default:
++ {
++ unexpectedEnterAttribute($__qname);
++ }
++ break;
++ }
++ }
++
++ public void leaveAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 1:
++ {
++ NGCCHandler h = new NGCCDefineParamState(this, super._source, $runtime, 459, className);
++ spawnChildFromLeaveAttribute(h, $__uri, $__local, $__qname);
++ }
++ break;
++ case 2:
++ {
++ $_ngcc_current_state = 1;
++ $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 3:
++ {
++ if(($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "class")) {
++ $_ngcc_current_state = 1;
++ }
++ else {
++ unexpectedLeaveAttribute($__qname);
++ }
++ }
++ break;
++ case 0:
++ {
++ revertToParentFromLeaveAttribute(param, 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:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","params"))>=0) {
++ NGCCHandler h = new NGCCDefineParamState(this, super._source, $runtime, 459, className);
++ spawnChildFromText(h, $value);
++ }
++ else {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","access"))>=0) {
++ NGCCHandler h = new NGCCDefineParamState(this, super._source, $runtime, 459, className);
++ spawnChildFromText(h, $value);
++ }
++ else {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","return-value"))>=0) {
++ NGCCHandler h = new NGCCDefineParamState(this, super._source, $runtime, 459, className);
++ spawnChildFromText(h, $value);
++ }
++ else {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","return-type"))>=0) {
++ NGCCHandler h = new NGCCDefineParamState(this, super._source, $runtime, 459, className);
++ spawnChildFromText(h, $value);
++ }
++ else {
++ NGCCHandler h = new NGCCDefineParamState(this, super._source, $runtime, 459, className);
++ spawnChildFromText(h, $value);
++ }
++ }
++ }
++ }
++ }
++ break;
++ case 2:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendText(super._cookie, $value);
++ }
++ else {
++ $_ngcc_current_state = 1;
++ $runtime.sendText(super._cookie, $value);
++ }
++ }
++ break;
++ case 4:
++ {
++ className = $value;
++ $_ngcc_current_state = 3;
++ }
++ break;
++ case 0:
++ {
++ revertToParentFromText(param, super._cookie, $value);
++ }
++ break;
++ }
++ }
++
++ public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
++ switch($__cookie__) {
++ case 459:
++ {
++ param = ((NGCCDefineParam)$__result__);
++ $_ngcc_current_state = 0;
++ }
++ break;
++ }
++ }
++
++ public boolean accepted() {
++ return(($_ngcc_current_state == 0));
++ }
++
++
++}
++
+diff --git a/src/relaxngcc/parser/state/NGCCwithParams.java b/src/relaxngcc/parser/state/NGCCwithParams.java
+new file mode 100644
+index 0000000..a80d5d2
+--- /dev/null
++++ b/src/relaxngcc/parser/state/NGCCwithParams.java
+@@ -0,0 +1,193 @@
++/* this file is generated by RelaxNGCC */
++package relaxngcc.parser.state;
++import org.xml.sax.SAXException;
++import org.xml.sax.Attributes;
++import relaxngcc.parser.ParserRuntime;
++
++ import relaxngcc.grammar.*;
++ import relaxngcc.datatype.Datatype;
++ import org.xml.sax.Locator;
++
++
++
++class NGCCwithParams extends NGCCHandler {
++ private String moreParams;
++ private NGCCCallParam param;
++ protected final ParserRuntime $runtime;
++ private int $_ngcc_current_state;
++ protected String $uri;
++ protected String $localName;
++ protected String $qname;
++
++ public final NGCCRuntime getRuntime() {
++ return($runtime);
++ }
++
++ public NGCCwithParams(NGCCHandler parent, NGCCEventSource source, ParserRuntime runtime, int cookie, NGCCCallParam _param) {
++ super(source, parent, cookie);
++ $runtime = runtime;
++ this.param = _param;
++ $_ngcc_current_state = 1;
++ }
++
++ public NGCCwithParams(ParserRuntime runtime, NGCCCallParam _param) {
++ this(null, runtime, runtime, -1, _param);
++ }
++
++ private void action0()throws SAXException {
++
++ if(param.getWithParams()!=null)
++ // TODO: error report "@cc:with-params is present"
++ ;
++ param.setWithParams(moreParams);
++
++}
++
++ public void enterElement(String $__uri, String $__local, String $__qname, Attributes $attrs) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 0:
++ {
++ revertToParentFromEnterElement(this, super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ break;
++ case 1:
++ {
++ if(($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "withParams")) {
++ $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
++ $_ngcc_current_state = 3;
++ }
++ else {
++ $_ngcc_current_state = 0;
++ $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ }
++ break;
++ default:
++ {
++ unexpectedEnterElement($__qname);
++ }
++ break;
++ }
++ }
++
++ public void leaveElement(String $__uri, String $__local, String $__qname) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 2:
++ {
++ if(($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "withParams")) {
++ $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
++ $_ngcc_current_state = 0;
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 0:
++ {
++ revertToParentFromLeaveElement(this, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 1:
++ {
++ $_ngcc_current_state = 0;
++ $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ default:
++ {
++ unexpectedLeaveElement($__qname);
++ }
++ break;
++ }
++ }
++
++ public void enterAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 0:
++ {
++ revertToParentFromEnterAttribute(this, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 1:
++ {
++ $_ngcc_current_state = 0;
++ $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ default:
++ {
++ unexpectedEnterAttribute($__qname);
++ }
++ break;
++ }
++ }
++
++ public void leaveAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 0:
++ {
++ revertToParentFromLeaveAttribute(this, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 1:
++ {
++ $_ngcc_current_state = 0;
++ $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ default:
++ {
++ unexpectedLeaveAttribute($__qname);
++ }
++ break;
++ }
++ }
++
++ public void text(String $value) throws SAXException {
++ switch($_ngcc_current_state) {
++ case 3:
++ {
++ moreParams = $value;
++ $_ngcc_current_state = 2;
++ action0();
++ }
++ break;
++ case 0:
++ {
++ revertToParentFromText(this, super._cookie, $value);
++ }
++ break;
++ case 1:
++ {
++ $_ngcc_current_state = 0;
++ $runtime.sendText(super._cookie, $value);
++ }
++ break;
++ }
++ }
++
++ public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
++ switch($__cookie__) {
++ }
++ }
++
++ public boolean accepted() {
++ return((($_ngcc_current_state == 1) || ($_ngcc_current_state == 0)));
++ }
++
++
++}
++
+diff --git a/src/relaxngcc/parser/state/NameClassState.java b/src/relaxngcc/parser/state/NameClassState.java
+new file mode 100644
+index 0000000..c166816
+--- /dev/null
++++ b/src/relaxngcc/parser/state/NameClassState.java
+@@ -0,0 +1,304 @@
++/* this file is generated by RelaxNGCC */
++package relaxngcc.parser.state;
++import org.xml.sax.SAXException;
++import org.xml.sax.Attributes;
++import relaxngcc.parser.ParserRuntime;
++
++ import relaxngcc.grammar.*;
++ import relaxngcc.datatype.Datatype;
++ import org.xml.sax.Locator;
++
++
++
++class NameClassState extends NGCCHandler {
++ private String name;
++ private NameClass child;
++ protected final ParserRuntime $runtime;
++ private int $_ngcc_current_state;
++ protected String $uri;
++ protected String $localName;
++ protected String $qname;
++
++ public final NGCCRuntime getRuntime() {
++ return($runtime);
++ }
++
++ public NameClassState(NGCCHandler parent, NGCCEventSource source, ParserRuntime runtime, int cookie) {
++ super(source, parent, cookie);
++ $runtime = runtime;
++ $_ngcc_current_state = 1;
++ }
++
++ public NameClassState(ParserRuntime runtime) {
++ this(null, runtime, runtime, -1);
++ }
++
++ private void action0()throws SAXException {
++
++ nc = new NsNameClass($runtime, $runtime.getTargetNamespace(),child);
++
++}
++
++ private void action1()throws SAXException {
++
++ nc = new AnyNameClass($runtime, child);
++
++}
++
++ private void action2()throws SAXException {
++
++ nc = $runtime.parseSimpleName(name,false);
++
++}
++
++ public void enterElement(String $__uri, String $__local, String $__qname, Attributes $attrs) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 1:
++ {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "name")) {
++ $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
++ $_ngcc_current_state = 14;
++ }
++ else {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "anyName")) {
++ $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
++ $_ngcc_current_state = 11;
++ }
++ else {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "nsName")) {
++ $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
++ $_ngcc_current_state = 7;
++ }
++ else {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "choice")) {
++ $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
++ $_ngcc_current_state = 3;
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ }
++ }
++ }
++ break;
++ case 7:
++ {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "except")) {
++ NGCCHandler h = new ExceptNameClass(this, super._source, $runtime, 402);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ case 11:
++ {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "except")) {
++ NGCCHandler h = new ExceptNameClass(this, super._source, $runtime, 406);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ case 3:
++ {
++ if((($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "name") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "nsName") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "anyName") || ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "choice"))))) {
++ NGCCHandler h = new NameClasses(this, super._source, $runtime, 398);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ case 0:
++ {
++ revertToParentFromEnterElement(nc, super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ break;
++ default:
++ {
++ unexpectedEnterElement($__qname);
++ }
++ break;
++ }
++ }
++
++ public void leaveElement(String $__uri, String $__local, String $__qname) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 10:
++ {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "anyName")) {
++ $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
++ $_ngcc_current_state = 0;
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 7:
++ {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "nsName")) {
++ NGCCHandler h = new ExceptNameClass(this, super._source, $runtime, 402);
++ spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 11:
++ {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "anyName")) {
++ NGCCHandler h = new ExceptNameClass(this, super._source, $runtime, 406);
++ spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 13:
++ {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "name")) {
++ $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
++ $_ngcc_current_state = 0;
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 2:
++ {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "choice")) {
++ $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
++ $_ngcc_current_state = 0;
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 0:
++ {
++ revertToParentFromLeaveElement(nc, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 6:
++ {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "nsName")) {
++ $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
++ $_ngcc_current_state = 0;
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ default:
++ {
++ unexpectedLeaveElement($__qname);
++ }
++ break;
++ }
++ }
++
++ public void enterAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 0:
++ {
++ revertToParentFromEnterAttribute(nc, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ default:
++ {
++ unexpectedEnterAttribute($__qname);
++ }
++ break;
++ }
++ }
++
++ public void leaveAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 0:
++ {
++ revertToParentFromLeaveAttribute(nc, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ default:
++ {
++ unexpectedLeaveAttribute($__qname);
++ }
++ break;
++ }
++ }
++
++ public void text(String $value) throws SAXException {
++ switch($_ngcc_current_state) {
++ case 14:
++ {
++ name = $value;
++ $_ngcc_current_state = 13;
++ action2();
++ }
++ break;
++ case 0:
++ {
++ revertToParentFromText(nc, super._cookie, $value);
++ }
++ break;
++ }
++ }
++
++ public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
++ switch($__cookie__) {
++ case 402:
++ {
++ child = ((NameClass)$__result__);
++ action0();
++ $_ngcc_current_state = 6;
++ }
++ break;
++ case 406:
++ {
++ child = ((NameClass)$__result__);
++ action1();
++ $_ngcc_current_state = 10;
++ }
++ break;
++ case 398:
++ {
++ nc = ((NameClass)$__result__);
++ $_ngcc_current_state = 2;
++ }
++ break;
++ }
++ }
++
++ public boolean accepted() {
++ return(($_ngcc_current_state == 0));
++ }
++
++
++ private NameClass nc;
++
++}
++
+diff --git a/src/relaxngcc/parser/state/NameClasses.java b/src/relaxngcc/parser/state/NameClasses.java
+new file mode 100644
+index 0000000..069787f
+--- /dev/null
++++ b/src/relaxngcc/parser/state/NameClasses.java
+@@ -0,0 +1,168 @@
++/* this file is generated by RelaxNGCC */
++package relaxngcc.parser.state;
++import org.xml.sax.SAXException;
++import org.xml.sax.Attributes;
++import relaxngcc.parser.ParserRuntime;
++
++ import relaxngcc.grammar.*;
++ import relaxngcc.datatype.Datatype;
++ import org.xml.sax.Locator;
++
++
++
++class NameClasses extends NGCCHandler {
++ private NameClass child;
++ protected final ParserRuntime $runtime;
++ private int $_ngcc_current_state;
++ protected String $uri;
++ protected String $localName;
++ protected String $qname;
++
++ public final NGCCRuntime getRuntime() {
++ return($runtime);
++ }
++
++ public NameClasses(NGCCHandler parent, NGCCEventSource source, ParserRuntime runtime, int cookie) {
++ super(source, parent, cookie);
++ $runtime = runtime;
++ $_ngcc_current_state = 1;
++ }
++
++ public NameClasses(ParserRuntime runtime) {
++ this(null, runtime, runtime, -1);
++ }
++
++ private void action0()throws SAXException {
++
++ if(nc==null) nc=child;
++ else nc=new ChoiceNameClass(nc,child);
++
++}
++
++ public void enterElement(String $__uri, String $__local, String $__qname, Attributes $attrs) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 1:
++ {
++ if((($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "name") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "nsName") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "anyName") || ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "choice"))))) {
++ NGCCHandler h = new NameClassState(this, super._source, $runtime, 457);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ case 0:
++ {
++ if((($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "name") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "nsName") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "anyName") || ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "choice"))))) {
++ NGCCHandler h = new NameClassState(this, super._source, $runtime, 458);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ revertToParentFromEnterElement(nc, super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ }
++ break;
++ default:
++ {
++ unexpectedEnterElement($__qname);
++ }
++ break;
++ }
++ }
++
++ public void leaveElement(String $__uri, String $__local, String $__qname) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 0:
++ {
++ revertToParentFromLeaveElement(nc, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ default:
++ {
++ unexpectedLeaveElement($__qname);
++ }
++ break;
++ }
++ }
++
++ public void enterAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 0:
++ {
++ revertToParentFromEnterAttribute(nc, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ default:
++ {
++ unexpectedEnterAttribute($__qname);
++ }
++ break;
++ }
++ }
++
++ public void leaveAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 0:
++ {
++ revertToParentFromLeaveAttribute(nc, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ default:
++ {
++ unexpectedLeaveAttribute($__qname);
++ }
++ break;
++ }
++ }
++
++ public void text(String $value) throws SAXException {
++ switch($_ngcc_current_state) {
++ case 0:
++ {
++ revertToParentFromText(nc, super._cookie, $value);
++ }
++ break;
++ }
++ }
++
++ public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
++ switch($__cookie__) {
++ case 457:
++ {
++ child = ((NameClass)$__result__);
++ action0();
++ $_ngcc_current_state = 0;
++ }
++ break;
++ case 458:
++ {
++ child = ((NameClass)$__result__);
++ action0();
++ $_ngcc_current_state = 0;
++ }
++ break;
++ }
++ }
++
++ public boolean accepted() {
++ return(($_ngcc_current_state == 0));
++ }
++
++
++ private NameClass nc=null;
++
++}
++
+diff --git a/src/relaxngcc/parser/state/PatternDefinition.java b/src/relaxngcc/parser/state/PatternDefinition.java
+new file mode 100644
+index 0000000..e4693a4
+--- /dev/null
++++ b/src/relaxngcc/parser/state/PatternDefinition.java
+@@ -0,0 +1,499 @@
++/* this file is generated by RelaxNGCC */
++package relaxngcc.parser.state;
++import org.xml.sax.SAXException;
++import org.xml.sax.Attributes;
++import relaxngcc.parser.ParserRuntime;
++
++ import relaxngcc.grammar.*;
++ import relaxngcc.datatype.Datatype;
++ import org.xml.sax.Locator;
++
++
++
++class PatternDefinition extends NGCCHandler {
++ private Scope scope;
++ private String value;
++ private Pattern p;
++ private String combine;
++ private NGCCDefineParam param;
++ protected final ParserRuntime $runtime;
++ private int $_ngcc_current_state;
++ protected String $uri;
++ protected String $localName;
++ protected String $qname;
++
++ public final NGCCRuntime getRuntime() {
++ return($runtime);
++ }
++
++ public PatternDefinition(NGCCHandler parent, NGCCEventSource source, ParserRuntime runtime, int cookie, Scope _scope) {
++ super(source, parent, cookie);
++ $runtime = runtime;
++ this.scope = _scope;
++ $_ngcc_current_state = 15;
++ }
++
++ public PatternDefinition(ParserRuntime runtime, Scope _scope) {
++ this(null, runtime, runtime, -1, _scope);
++ }
++
++ private void action0()throws SAXException {
++
++ scope.appendBody(value);
++
++}
++
++ private void action1()throws SAXException {
++
++ scope.append(p,combine);
++
++}
++
++ private void action2()throws SAXException {
++
++ scope.appendBody(value);
++
++}
++
++ private void action3()throws SAXException {
++
++ scope.appendImport(value);
++
++}
++
++ private void action4()throws SAXException {
++
++ scope.setParam(param);
++
++}
++
++ 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 1:
++ {
++ if(($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "java-body")) {
++ $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
++ $_ngcc_current_state = 3;
++ }
++ else {
++ $_ngcc_current_state = 0;
++ $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ }
++ break;
++ case 14:
++ {
++ if((($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "data") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "element") || (($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "java") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "choice") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "mixed") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "oneOrMore") || (($_ [...]
++ NGCCHandler h = new NGCCdefine(this, super._source, $runtime, 497, scope.name);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ case 6:
++ {
++ if(($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "java-body")) {
++ $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
++ $_ngcc_current_state = 8;
++ }
++ else {
++ $_ngcc_current_state = 5;
++ $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ }
++ break;
++ case 15:
++ {
++ if(($ai = $runtime.getAttributeIndex("","combine"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ $_ngcc_current_state = 14;
++ $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ }
++ break;
++ case 0:
++ {
++ if(($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "java-body")) {
++ $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
++ $_ngcc_current_state = 3;
++ }
++ else {
++ revertToParentFromEnterElement(this, super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ }
++ break;
++ case 5:
++ {
++ if(($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "java-body")) {
++ $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
++ $_ngcc_current_state = 8;
++ }
++ else {
++ if((($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "data") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "element") || (($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "java") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "choice") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "mixed") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "oneOrMore") || [...]
++ NGCCHandler h = new patterns(this, super._source, $runtime, 485);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ }
++ break;
++ case 10:
++ {
++ if(($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "java-import")) {
++ $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
++ $_ngcc_current_state = 12;
++ }
++ else {
++ $_ngcc_current_state = 6;
++ $runtime.sendEnterElement(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 1:
++ {
++ $_ngcc_current_state = 0;
++ $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 14:
++ {
++ if((($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","return-value"))>=0 || (($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0 || (($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","params"))>=0 || (($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","return-type"))>=0 || ($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","access"))>=0))))) {
++ NGCCHandler h = new NGCCdefine(this, super._source, $runtime, 497, scope.name);
++ spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 6:
++ {
++ $_ngcc_current_state = 5;
++ $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 11:
++ {
++ if(($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "java-import")) {
++ $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
++ $_ngcc_current_state = 6;
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 15:
++ {
++ if(($ai = $runtime.getAttributeIndex("","combine"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
++ }
++ else {
++ $_ngcc_current_state = 14;
++ $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
++ }
++ }
++ break;
++ case 0:
++ {
++ revertToParentFromLeaveElement(this, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 10:
++ {
++ $_ngcc_current_state = 6;
++ $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 2:
++ {
++ if(($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "java-body")) {
++ $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
++ $_ngcc_current_state = 0;
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 7:
++ {
++ if(($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "java-body")) {
++ $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
++ $_ngcc_current_state = 5;
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ default:
++ {
++ unexpectedLeaveElement($__qname);
++ }
++ break;
++ }
++ }
++
++ public void enterAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 1:
++ {
++ $_ngcc_current_state = 0;
++ $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 14:
++ {
++ if((($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "return-value") || (($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "class") || (($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "params") || (($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "return-type") || ($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "access")))))) {
++ NGCCHandler h = new NGCCdefine(this, super._source, $runtime, 497, scope.name);
++ spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedEnterAttribute($__qname);
++ }
++ }
++ break;
++ case 6:
++ {
++ $_ngcc_current_state = 5;
++ $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 15:
++ {
++ if(($__uri == "" && $__local == "combine")) {
++ $_ngcc_current_state = 17;
++ }
++ else {
++ $_ngcc_current_state = 14;
++ $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
++ }
++ }
++ break;
++ case 0:
++ {
++ revertToParentFromEnterAttribute(this, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 10:
++ {
++ $_ngcc_current_state = 6;
++ $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ default:
++ {
++ unexpectedEnterAttribute($__qname);
++ }
++ break;
++ }
++ }
++
++ public void leaveAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 1:
++ {
++ $_ngcc_current_state = 0;
++ $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 6:
++ {
++ $_ngcc_current_state = 5;
++ $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 16:
++ {
++ if(($__uri == "" && $__local == "combine")) {
++ $_ngcc_current_state = 14;
++ }
++ else {
++ unexpectedLeaveAttribute($__qname);
++ }
++ }
++ break;
++ case 15:
++ {
++ $_ngcc_current_state = 14;
++ $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 0:
++ {
++ revertToParentFromLeaveAttribute(this, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 10:
++ {
++ $_ngcc_current_state = 6;
++ $runtime.sendLeaveAttribute(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:
++ {
++ $_ngcc_current_state = 0;
++ $runtime.sendText(super._cookie, $value);
++ }
++ break;
++ case 14:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","access"))>=0) {
++ NGCCHandler h = new NGCCdefine(this, super._source, $runtime, 497, scope.name);
++ spawnChildFromText(h, $value);
++ }
++ else {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","return-type"))>=0) {
++ NGCCHandler h = new NGCCdefine(this, super._source, $runtime, 497, scope.name);
++ spawnChildFromText(h, $value);
++ }
++ else {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","params"))>=0) {
++ NGCCHandler h = new NGCCdefine(this, super._source, $runtime, 497, scope.name);
++ spawnChildFromText(h, $value);
++ }
++ else {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0) {
++ NGCCHandler h = new NGCCdefine(this, super._source, $runtime, 497, scope.name);
++ spawnChildFromText(h, $value);
++ }
++ else {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","return-value"))>=0) {
++ NGCCHandler h = new NGCCdefine(this, super._source, $runtime, 497, scope.name);
++ spawnChildFromText(h, $value);
++ }
++ }
++ }
++ }
++ }
++ }
++ break;
++ case 6:
++ {
++ $_ngcc_current_state = 5;
++ $runtime.sendText(super._cookie, $value);
++ }
++ break;
++ case 3:
++ {
++ value = $value;
++ $_ngcc_current_state = 2;
++ action0();
++ }
++ break;
++ case 12:
++ {
++ value = $value;
++ $_ngcc_current_state = 11;
++ action3();
++ }
++ break;
++ case 8:
++ {
++ value = $value;
++ $_ngcc_current_state = 7;
++ action2();
++ }
++ break;
++ case 15:
++ {
++ if(($ai = $runtime.getAttributeIndex("","combine"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendText(super._cookie, $value);
++ }
++ else {
++ $_ngcc_current_state = 14;
++ $runtime.sendText(super._cookie, $value);
++ }
++ }
++ break;
++ case 17:
++ {
++ combine = $value;
++ $_ngcc_current_state = 16;
++ }
++ break;
++ case 0:
++ {
++ revertToParentFromText(this, super._cookie, $value);
++ }
++ break;
++ case 10:
++ {
++ $_ngcc_current_state = 6;
++ $runtime.sendText(super._cookie, $value);
++ }
++ break;
++ }
++ }
++
++ public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
++ switch($__cookie__) {
++ case 497:
++ {
++ param = ((NGCCDefineParam)$__result__);
++ action4();
++ $_ngcc_current_state = 10;
++ }
++ break;
++ case 485:
++ {
++ p = ((Pattern)$__result__);
++ action1();
++ $_ngcc_current_state = 1;
++ }
++ break;
++ }
++ }
++
++ public boolean accepted() {
++ return((($_ngcc_current_state == 1) || ($_ngcc_current_state == 0)));
++ }
++
++
++}
++
+diff --git a/src/relaxngcc/parser/state/PatternState.java b/src/relaxngcc/parser/state/PatternState.java
+new file mode 100644
+index 0000000..c0d8acb
+--- /dev/null
++++ b/src/relaxngcc/parser/state/PatternState.java
+@@ -0,0 +1,2417 @@
++/* this file is generated by RelaxNGCC */
++package relaxngcc.parser.state;
++import org.xml.sax.SAXException;
++import org.xml.sax.Attributes;
++import relaxngcc.parser.ParserRuntime;
++
++ import relaxngcc.grammar.*;
++ import relaxngcc.datatype.Datatype;
++ import org.xml.sax.Locator;
++
++
++
++class PatternState extends NGCCHandler {
++ private String typeName;
++ private NameClass name;
++ private String alias;
++ private String value;
++ private String target;
++ private Pattern p;
++ private NGCCCallParam params;
++ private Pattern child;
++ protected final ParserRuntime $runtime;
++ private int $_ngcc_current_state;
++ protected String $uri;
++ protected String $localName;
++ protected String $qname;
++
++ public final NGCCRuntime getRuntime() {
++ return($runtime);
++ }
++
++ public PatternState(NGCCHandler parent, NGCCEventSource source, ParserRuntime runtime, int cookie) {
++ super(source, parent, cookie);
++ $runtime = runtime;
++ $_ngcc_current_state = 116;
++ }
++
++ public PatternState(ParserRuntime runtime) {
++ this(null, runtime, runtime, -1);
++ }
++
++ private void action0()throws SAXException {
++ p = new JavaBlock($runtime, value);
++}
++
++ private void action1()throws SAXException {
++
++ // behave as if there is an implicit ref
++ // between <grammar> and its parent.
++ p = new RefPattern($runtime, loc, $runtime.grammar, new NGCCCallParam($runtime, null, null) );
++ // get back to the parent context
++ $runtime.grammar = $runtime.grammar.parent;
++
++}
++
++ private void action2()throws SAXException {
++
++ $runtime.grammar = new Grammar( $runtime );
++
++}
++
++ private void action3()throws SAXException {
++
++ p = new NotAllowedPattern($runtime);
++
++}
++
++ private void action4()throws SAXException {
++
++ p = new DataPattern($runtime, loc, $runtime.getDatatype(typeName),alias);
++
++}
++
++ private void action5()throws SAXException {
++
++ p = new ValuePattern($runtime, loc,Datatype.NOOP, value, alias);
++
++}
++
++ private void action6()throws SAXException {
++
++ p = new DataPattern($runtime, loc, Datatype.NOOP, alias);
++
++}
++
++ private void action7()throws SAXException {
++
++ p = new EmptyPattern($runtime);
++
++}
++
++ private void action8()throws SAXException {
++
++ // refers to the parent grammar,
++ // instead of the current grammar
++ p = new RefPattern($runtime, loc,
++ $runtime.grammar.parent.getOrCreate($runtime, target),params);
++
++}
++
++ private void action9()throws SAXException {
++
++ p = new RefPattern($runtime, loc, $runtime.grammar.getOrCreate($runtime, target), params);
++
++}
++
++ private void action10()throws SAXException {
++
++ p = new InterleavePattern($runtime, new DataPattern($runtime, loc, Datatype.NOOP, null ), p );
++
++}
++
++ private void action11()throws SAXException {
++
++ p = new ListPattern($runtime, loc, p, alias);
++
++}
++
++ private void action12()throws SAXException {
++
++ p = new OneOrMorePattern($runtime, p);
++
++}
++
++ private void action13()throws SAXException {
++
++ p = new ChoicePattern($runtime, new OneOrMorePattern($runtime, p), new EmptyPattern($runtime));
++
++}
++
++ private void action14()throws SAXException {
++
++ p = new ChoicePattern($runtime, p, new EmptyPattern($runtime));
++
++}
++
++ private void action15()throws SAXException {
++
++ if(p==null) p = child;
++ else p = new ChoicePattern($runtime, p, child);
++
++}
++
++ private void action16()throws SAXException {
++
++ if(p==null) p = child;
++ else p = new InterleavePattern($runtime, p, child);
++
++}
++
++ private void action17()throws SAXException {
++
++ // if there is no child pattern, assume <text>.
++ if(p==null)
++ p = new DataPattern($runtime, loc, Datatype.NOOP, alias);
++ p = new AttributePattern($runtime, loc, name, p);
++
++}
++
++ private void action18()throws SAXException {
++ p = new ElementPattern($runtime, loc, name, p);
++}
++
++ private void action19()throws SAXException {
++
++ loc = $runtime.createLocator();
++
++}
++
++ 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 44:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0) {
++ NGCCHandler h = new NGCCLocalClass(this, super._source, $runtime, 46, p,loc);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ case 29:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0) {
++ NGCCHandler h = new NGCCLocalClass(this, super._source, $runtime, 30, p,loc);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ case 64:
++ {
++ if((($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "data") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "element") || (($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "java") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "choice") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "mixed") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "oneOrMore") || (($_ [...]
++ NGCCHandler h = new patterns(this, super._source, $runtime, 66);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ case 85:
++ {
++ if((($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "data") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "element") || (($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "java") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "choice") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "mixed") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "oneOrMore") || (($_ [...]
++ NGCCHandler h = new patterns(this, super._source, $runtime, 87);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ case 80:
++ {
++ if((($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "data") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "element") || (($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "java") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "choice") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "mixed") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "oneOrMore") || (($_ [...]
++ NGCCHandler h = new patterns(this, super._source, $runtime, 82);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ case 54:
++ {
++ if(($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "withParams")) {
++ NGCCHandler h = new NGCCwithParams(this, super._source, $runtime, 56, params);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ NGCCHandler h = new NGCCwithParams(this, super._source, $runtime, 56, params);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ }
++ break;
++ case 69:
++ {
++ if((($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "data") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "element") || (($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "java") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "choice") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "mixed") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "oneOrMore") || (($_ [...]
++ NGCCHandler h = new patterns(this, super._source, $runtime, 71);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ case 84:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0) {
++ NGCCHandler h = new NGCCLocalClass(this, super._source, $runtime, 86, p,loc);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ case 15:
++ {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "param")) {
++ $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
++ $_ngcc_current_state = 21;
++ }
++ else {
++ if((($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0 || ($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","alias"))>=0)) {
++ NGCCHandler h = new NGCCalias(this, super._source, $runtime, 14);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ }
++ break;
++ case 106:
++ {
++ if((($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "data") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "element") || (($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "java") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "choice") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "mixed") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "oneOrMore") || (($_ [...]
++ NGCCHandler h = new patterns(this, super._source, $runtime, 113);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ if((($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0 || ($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","alias"))>=0)) {
++ NGCCHandler h = new NGCCalias(this, super._source, $runtime, 111);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ }
++ break;
++ case 112:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0) {
++ NGCCHandler h = new NGCCLocalClass(this, super._source, $runtime, 118, p,loc);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ case 68:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0) {
++ NGCCHandler h = new NGCCLocalClass(this, super._source, $runtime, 70, p,loc);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ case 75:
++ {
++ if((($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "data") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "element") || (($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "java") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "choice") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "mixed") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "oneOrMore") || (($_ [...]
++ NGCCHandler h = new patterns(this, super._source, $runtime, 77);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ case 100:
++ {
++ if((($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "data") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "element") || (($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "java") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "choice") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "mixed") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "oneOrMore") || (($_ [...]
++ NGCCHandler h = new patterns(this, super._source, $runtime, 104);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ case 58:
++ {
++ if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ case 39:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0) {
++ NGCCHandler h = new NGCCLocalClass(this, super._source, $runtime, 41, p,loc);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ case 99:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0) {
++ NGCCHandler h = new NGCCLocalClass(this, super._source, $runtime, 103, p,loc);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ case 116:
++ {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "element")) {
++ $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
++ action19();
++ $_ngcc_current_state = 114;
++ }
++ else {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "attribute")) {
++ $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
++ action19();
++ $_ngcc_current_state = 109;
++ }
++ else {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "group")) {
++ $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
++ action19();
++ $_ngcc_current_state = 100;
++ }
++ else {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "interleave")) {
++ $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
++ action19();
++ $_ngcc_current_state = 95;
++ }
++ else {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "choice")) {
++ $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
++ action19();
++ $_ngcc_current_state = 90;
++ }
++ else {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "optional")) {
++ $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
++ action19();
++ $_ngcc_current_state = 85;
++ }
++ else {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "zeroOrMore")) {
++ $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
++ action19();
++ $_ngcc_current_state = 80;
++ }
++ else {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "oneOrMore")) {
++ $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
++ action19();
++ $_ngcc_current_state = 75;
++ }
++ else {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "list")) {
++ $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
++ action19();
++ $_ngcc_current_state = 70;
++ }
++ else {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "mixed")) {
++ $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
++ action19();
++ $_ngcc_current_state = 64;
++ }
++ else {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "ref")) {
++ $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
++ action19();
++ $_ngcc_current_state = 59;
++ }
++ else {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "parentRef")) {
++ $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
++ action19();
++ $_ngcc_current_state = 51;
++ }
++ else {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "empty")) {
++ $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
++ action19();
++ action7();
++ $_ngcc_current_state = 44;
++ }
++ else {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "text")) {
++ $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
++ action19();
++ $_ngcc_current_state = 40;
++ }
++ else {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "value")) {
++ $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
++ action19();
++ $_ngcc_current_state = 32;
++ }
++ else {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "data")) {
++ $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
++ action19();
++ $_ngcc_current_state = 25;
++ }
++ else {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "notAllowed")) {
++ $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
++ action19();
++ action3();
++ $_ngcc_current_state = 10;
++ }
++ else {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "grammar")) {
++ $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
++ action19();
++ action2();
++ $_ngcc_current_state = 7;
++ }
++ else {
++ if(($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "java")) {
++ $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
++ action19();
++ $_ngcc_current_state = 3;
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ }
++ }
++ }
++ }
++ }
++ }
++ }
++ }
++ }
++ }
++ }
++ }
++ }
++ }
++ }
++ }
++ }
++ }
++ break;
++ case 14:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0) {
++ NGCCHandler h = new NGCCLocalClass(this, super._source, $runtime, 13, p,loc);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ case 40:
++ {
++ if((($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0 || ($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","alias"))>=0)) {
++ NGCCHandler h = new NGCCalias(this, super._source, $runtime, 42);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ case 104:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0) {
++ NGCCHandler h = new NGCCLocalClass(this, super._source, $runtime, 108, p,loc);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ case 109:
++ {
++ if(((($ai = $runtime.getAttributeIndex("","name"))>=0 && ((((((((((((((((((($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "zeroOrMore") || ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "empty")) || ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "list")) || ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "text")) || ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "parentRef")) || ($__uri = [...]
++ NGCCHandler h = new name(this, super._source, $runtime, 114, true);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ case 114:
++ {
++ if(((($ai = $runtime.getAttributeIndex("","name"))>=0 && ((((((((((((((((((($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "zeroOrMore") || ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "empty")) || ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "list")) || ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "text")) || ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "parentRef")) || ($__uri = [...]
++ NGCCHandler h = new name(this, super._source, $runtime, 120, false);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ case 59:
++ {
++ if((($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","with-params"))>=0 || (($ai = $runtime.getAttributeIndex("","name"))>=0 || ($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","alias"))>=0))) {
++ NGCCHandler h = new NGCCcall(this, super._source, $runtime, 61);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ case 79:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0) {
++ NGCCHandler h = new NGCCLocalClass(this, super._source, $runtime, 81, p,loc);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ case 25:
++ {
++ if(($ai = $runtime.getAttributeIndex("","type"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ case 74:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0) {
++ NGCCHandler h = new NGCCLocalClass(this, super._source, $runtime, 76, p,loc);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ case 63:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0) {
++ NGCCHandler h = new NGCCLocalClass(this, super._source, $runtime, 65, p,loc);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ case 70:
++ {
++ if((($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "data") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "element") || (($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "java") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "choice") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "mixed") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "oneOrMore") || (($_ [...]
++ NGCCHandler h = new NGCCalias(this, super._source, $runtime, 72);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ case 0:
++ {
++ revertToParentFromEnterElement(p, super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ break;
++ case 113:
++ {
++ if((($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "data") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "element") || (($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "java") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "choice") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "mixed") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "oneOrMore") || (($_ [...]
++ NGCCHandler h = new patterns(this, super._source, $runtime, 119);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ case 31:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","alias"))>=0) {
++ NGCCHandler h = new NGCCalias(this, super._source, $runtime, 32);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ case 94:
++ {
++ if((($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "data") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "element") || (($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "java") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "mixed") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "choice") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "oneOrMore") || (($_ [...]
++ NGCCHandler h = new PatternState(this, super._source, $runtime, 99);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0) {
++ NGCCHandler h = new NGCCLocalClass(this, super._source, $runtime, 97, p,loc);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ }
++ break;
++ case 32:
++ {
++ if(($ai = $runtime.getAttributeIndex("","type"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ $_ngcc_current_state = 31;
++ $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ }
++ break;
++ case 90:
++ {
++ if((($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "data") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "element") || (($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "java") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "mixed") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "choice") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "oneOrMore") || (($_ [...]
++ NGCCHandler h = new PatternState(this, super._source, $runtime, 92);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ case 16:
++ {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "param")) {
++ $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
++ $_ngcc_current_state = 21;
++ }
++ else {
++ $_ngcc_current_state = 15;
++ $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ }
++ break;
++ case 50:
++ {
++ if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ case 7:
++ {
++ if((($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "java-import") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "div") || (($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "java-body") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "start") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "define") || ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "include"))))))) {
++ NGCCHandler h = new GrammarContent(this, super._source, $runtime, 6);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ case 51:
++ {
++ if((($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","with-params"))>=0 || (($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","alias"))>=0 || ($ai = $runtime.getAttributeIndex("","name"))>=0))) {
++ NGCCHandler h = new NGCCcall(this, super._source, $runtime, 53);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ case 95:
++ {
++ if((($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "data") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "element") || (($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "java") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "mixed") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "choice") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "oneOrMore") || (($_ [...]
++ NGCCHandler h = new PatternState(this, super._source, $runtime, 98);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ case 89:
++ {
++ if((($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "data") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "element") || (($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "java") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "mixed") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "choice") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "oneOrMore") || (($_ [...]
++ NGCCHandler h = new PatternState(this, super._source, $runtime, 93);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0) {
++ NGCCHandler h = new NGCCLocalClass(this, super._source, $runtime, 91, p,loc);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ }
++ break;
++ case 21:
++ {
++ if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ case 105:
++ {
++ action17();
++ $_ngcc_current_state = 104;
++ $runtime.sendEnterElement(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 84:
++ {
++ if(((($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0 && ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "optional")) || ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "optional"))) {
++ NGCCHandler h = new NGCCLocalClass(this, super._source, $runtime, 86, p,loc);
++ spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 106:
++ {
++ if(((($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0 && ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "attribute")) || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "attribute") || (($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","alias"))>=0 && ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "attribute"))))) {
++ NGCCHandler h = new NGCCalias(this, super._source, $runtime, 111);
++ spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 6:
++ {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "grammar")) {
++ $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
++ $_ngcc_current_state = 0;
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 112:
++ {
++ if((($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "element") || (($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0 && ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "element")))) {
++ NGCCHandler h = new NGCCLocalClass(this, super._source, $runtime, 118, p,loc);
++ spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 68:
++ {
++ if(((($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0 && ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "list")) || ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "list"))) {
++ NGCCHandler h = new NGCCLocalClass(this, super._source, $runtime, 70, p,loc);
++ spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 58:
++ {
++ if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 38:
++ {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "text")) {
++ $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
++ $_ngcc_current_state = 0;
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 99:
++ {
++ if(((($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0 && ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "group")) || ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "group"))) {
++ NGCCHandler h = new NGCCLocalClass(this, super._source, $runtime, 103, p,loc);
++ spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 43:
++ {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "empty")) {
++ $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
++ $_ngcc_current_state = 0;
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 40:
++ {
++ if(((($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0 && ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "text")) || ((($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","alias"))>=0 && ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "text")) || ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "text")))) {
++ NGCCHandler h = new NGCCalias(this, super._source, $runtime, 42);
++ spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 14:
++ {
++ if(((($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0 && ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "data")) || ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "data"))) {
++ NGCCHandler h = new NGCCLocalClass(this, super._source, $runtime, 13, p,loc);
++ spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 109:
++ {
++ if((($ai = $runtime.getAttributeIndex("","name"))>=0 && ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "attribute"))) {
++ NGCCHandler h = new name(this, super._source, $runtime, 114, true);
++ spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 104:
++ {
++ if(((($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0 && ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "attribute")) || ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "attribute"))) {
++ NGCCHandler h = new NGCCLocalClass(this, super._source, $runtime, 108, p,loc);
++ spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 2:
++ {
++ if(($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "java")) {
++ $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
++ $_ngcc_current_state = 0;
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 114:
++ {
++ if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
++ NGCCHandler h = new name(this, super._source, $runtime, 120, false);
++ spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 25:
++ {
++ if(($ai = $runtime.getAttributeIndex("","type"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 79:
++ {
++ if(((($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0 && ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "zeroOrMore")) || ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "zeroOrMore"))) {
++ NGCCHandler h = new NGCCLocalClass(this, super._source, $runtime, 81, p,loc);
++ spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 17:
++ {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "param")) {
++ $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
++ $_ngcc_current_state = 15;
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 0:
++ {
++ revertToParentFromLeaveElement(p, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 16:
++ {
++ $_ngcc_current_state = 15;
++ $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 7:
++ {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "grammar")) {
++ NGCCHandler h = new GrammarContent(this, super._source, $runtime, 6);
++ spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 28:
++ {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "value")) {
++ $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
++ $_ngcc_current_state = 0;
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 21:
++ {
++ if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 111:
++ {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "element")) {
++ $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
++ $_ngcc_current_state = 0;
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 44:
++ {
++ if(((($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0 && ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "empty")) || ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "empty"))) {
++ NGCCHandler h = new NGCCLocalClass(this, super._source, $runtime, 46, p,loc);
++ spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 103:
++ {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "attribute")) {
++ $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
++ $_ngcc_current_state = 0;
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 10:
++ {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "notAllowed")) {
++ $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
++ $_ngcc_current_state = 0;
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 29:
++ {
++ if(((($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0 && ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "value")) || ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "value"))) {
++ NGCCHandler h = new NGCCLocalClass(this, super._source, $runtime, 30, p,loc);
++ spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 13:
++ {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "data")) {
++ $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
++ $_ngcc_current_state = 0;
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 98:
++ {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "group")) {
++ $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
++ $_ngcc_current_state = 0;
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 54:
++ {
++ NGCCHandler h = new NGCCwithParams(this, super._source, $runtime, 56, params);
++ spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
++ }
++ break;
++ case 73:
++ {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "oneOrMore")) {
++ $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
++ $_ngcc_current_state = 0;
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 15:
++ {
++ if(((($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0 && ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "data")) || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "data") || (($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","alias"))>=0 && ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "data"))))) {
++ NGCCHandler h = new NGCCalias(this, super._source, $runtime, 14);
++ spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 93:
++ {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "interleave")) {
++ $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
++ $_ngcc_current_state = 0;
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 39:
++ {
++ if(((($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0 && ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "text")) || ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "text"))) {
++ NGCCHandler h = new NGCCLocalClass(this, super._source, $runtime, 41, p,loc);
++ spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 67:
++ {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "list")) {
++ $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
++ $_ngcc_current_state = 0;
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 47:
++ {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "parentRef")) {
++ $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
++ $_ngcc_current_state = 0;
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 88:
++ {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "choice")) {
++ $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
++ $_ngcc_current_state = 0;
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 78:
++ {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "zeroOrMore")) {
++ $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
++ $_ngcc_current_state = 0;
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 59:
++ {
++ if(((($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","with-params"))>=0 && ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "ref")) || ((($ai = $runtime.getAttributeIndex("","name"))>=0 && ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "ref")) || (($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","alias"))>=0 && ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "ref"))))) {
++ NGCCHandler h = new NGCCcall(this, super._source, $runtime, 61);
++ spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 83:
++ {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "optional")) {
++ $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
++ $_ngcc_current_state = 0;
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 62:
++ {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "mixed")) {
++ $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
++ $_ngcc_current_state = 0;
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 74:
++ {
++ if(((($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0 && ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "oneOrMore")) || ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "oneOrMore"))) {
++ NGCCHandler h = new NGCCLocalClass(this, super._source, $runtime, 76, p,loc);
++ spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 63:
++ {
++ if(((($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0 && ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "mixed")) || ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "mixed"))) {
++ NGCCHandler h = new NGCCLocalClass(this, super._source, $runtime, 65, p,loc);
++ spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 70:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","alias"))>=0) {
++ NGCCHandler h = new NGCCalias(this, super._source, $runtime, 72);
++ spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 94:
++ {
++ if(((($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0 && ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "interleave")) || ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "interleave"))) {
++ NGCCHandler h = new NGCCLocalClass(this, super._source, $runtime, 97, p,loc);
++ spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 31:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","alias"))>=0) {
++ NGCCHandler h = new NGCCalias(this, super._source, $runtime, 32);
++ spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 55:
++ {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "ref")) {
++ $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
++ $_ngcc_current_state = 54;
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 32:
++ {
++ if(($ai = $runtime.getAttributeIndex("","type"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
++ }
++ else {
++ $_ngcc_current_state = 31;
++ $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
++ }
++ }
++ break;
++ case 50:
++ {
++ if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 51:
++ {
++ if(((($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","with-params"))>=0 && ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "parentRef")) || ((($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","alias"))>=0 && ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "parentRef")) || (($ai = $runtime.getAttributeIndex("","name"))>=0 && ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "pare [...]
++ NGCCHandler h = new NGCCcall(this, super._source, $runtime, 53);
++ spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 89:
++ {
++ if(((($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0 && ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "choice")) || ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "choice"))) {
++ NGCCHandler h = new NGCCLocalClass(this, super._source, $runtime, 91, p,loc);
++ spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 105:
++ {
++ action17();
++ $_ngcc_current_state = 104;
++ $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ default:
++ {
++ unexpectedLeaveElement($__qname);
++ }
++ break;
++ }
++ }
++
++ public void enterAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 44:
++ {
++ if(($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "class")) {
++ NGCCHandler h = new NGCCLocalClass(this, super._source, $runtime, 46, p,loc);
++ spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedEnterAttribute($__qname);
++ }
++ }
++ break;
++ case 29:
++ {
++ if(($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "class")) {
++ NGCCHandler h = new NGCCLocalClass(this, super._source, $runtime, 30, p,loc);
++ spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedEnterAttribute($__qname);
++ }
++ }
++ break;
++ case 54:
++ {
++ NGCCHandler h = new NGCCwithParams(this, super._source, $runtime, 56, params);
++ spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
++ }
++ break;
++ case 84:
++ {
++ if(($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "class")) {
++ NGCCHandler h = new NGCCLocalClass(this, super._source, $runtime, 86, p,loc);
++ spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedEnterAttribute($__qname);
++ }
++ }
++ break;
++ case 15:
++ {
++ if((($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "class") || ($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "alias"))) {
++ NGCCHandler h = new NGCCalias(this, super._source, $runtime, 14);
++ spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedEnterAttribute($__qname);
++ }
++ }
++ break;
++ case 106:
++ {
++ if((($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "class") || ($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "alias"))) {
++ NGCCHandler h = new NGCCalias(this, super._source, $runtime, 111);
++ spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedEnterAttribute($__qname);
++ }
++ }
++ break;
++ case 112:
++ {
++ if(($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "class")) {
++ NGCCHandler h = new NGCCLocalClass(this, super._source, $runtime, 118, p,loc);
++ spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedEnterAttribute($__qname);
++ }
++ }
++ break;
++ case 68:
++ {
++ if(($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "class")) {
++ NGCCHandler h = new NGCCLocalClass(this, super._source, $runtime, 70, p,loc);
++ spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedEnterAttribute($__qname);
++ }
++ }
++ break;
++ case 58:
++ {
++ if(($__uri == "" && $__local == "name")) {
++ $_ngcc_current_state = 57;
++ }
++ else {
++ unexpectedEnterAttribute($__qname);
++ }
++ }
++ break;
++ case 39:
++ {
++ if(($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "class")) {
++ NGCCHandler h = new NGCCLocalClass(this, super._source, $runtime, 41, p,loc);
++ spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedEnterAttribute($__qname);
++ }
++ }
++ break;
++ case 99:
++ {
++ if(($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "class")) {
++ NGCCHandler h = new NGCCLocalClass(this, super._source, $runtime, 103, p,loc);
++ spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedEnterAttribute($__qname);
++ }
++ }
++ break;
++ case 14:
++ {
++ if(($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "class")) {
++ NGCCHandler h = new NGCCLocalClass(this, super._source, $runtime, 13, p,loc);
++ spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedEnterAttribute($__qname);
++ }
++ }
++ break;
++ case 40:
++ {
++ if((($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "class") || ($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "alias"))) {
++ NGCCHandler h = new NGCCalias(this, super._source, $runtime, 42);
++ spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedEnterAttribute($__qname);
++ }
++ }
++ break;
++ case 104:
++ {
++ if(($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "class")) {
++ NGCCHandler h = new NGCCLocalClass(this, super._source, $runtime, 108, p,loc);
++ spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedEnterAttribute($__qname);
++ }
++ }
++ break;
++ case 109:
++ {
++ if(($__uri == "" && $__local == "name")) {
++ NGCCHandler h = new name(this, super._source, $runtime, 114, true);
++ spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedEnterAttribute($__qname);
++ }
++ }
++ break;
++ case 114:
++ {
++ if(($__uri == "" && $__local == "name")) {
++ NGCCHandler h = new name(this, super._source, $runtime, 120, false);
++ spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedEnterAttribute($__qname);
++ }
++ }
++ break;
++ case 59:
++ {
++ if((($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "with-params") || (($__uri == "" && $__local == "name") || ($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "alias")))) {
++ NGCCHandler h = new NGCCcall(this, super._source, $runtime, 61);
++ spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedEnterAttribute($__qname);
++ }
++ }
++ break;
++ case 25:
++ {
++ if(($__uri == "" && $__local == "type")) {
++ $_ngcc_current_state = 24;
++ }
++ else {
++ unexpectedEnterAttribute($__qname);
++ }
++ }
++ break;
++ case 79:
++ {
++ if(($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "class")) {
++ NGCCHandler h = new NGCCLocalClass(this, super._source, $runtime, 81, p,loc);
++ spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedEnterAttribute($__qname);
++ }
++ }
++ break;
++ case 74:
++ {
++ if(($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "class")) {
++ NGCCHandler h = new NGCCLocalClass(this, super._source, $runtime, 76, p,loc);
++ spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedEnterAttribute($__qname);
++ }
++ }
++ break;
++ case 63:
++ {
++ if(($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "class")) {
++ NGCCHandler h = new NGCCLocalClass(this, super._source, $runtime, 65, p,loc);
++ spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedEnterAttribute($__qname);
++ }
++ }
++ break;
++ case 70:
++ {
++ if(($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "alias")) {
++ NGCCHandler h = new NGCCalias(this, super._source, $runtime, 72);
++ spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedEnterAttribute($__qname);
++ }
++ }
++ break;
++ case 0:
++ {
++ revertToParentFromEnterAttribute(p, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 94:
++ {
++ if(($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "class")) {
++ NGCCHandler h = new NGCCLocalClass(this, super._source, $runtime, 97, p,loc);
++ spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedEnterAttribute($__qname);
++ }
++ }
++ break;
++ case 31:
++ {
++ if(($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "alias")) {
++ NGCCHandler h = new NGCCalias(this, super._source, $runtime, 32);
++ spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedEnterAttribute($__qname);
++ }
++ }
++ break;
++ case 32:
++ {
++ if(($__uri == "" && $__local == "type")) {
++ $_ngcc_current_state = 34;
++ }
++ else {
++ $_ngcc_current_state = 31;
++ $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
++ }
++ }
++ break;
++ case 50:
++ {
++ if(($__uri == "" && $__local == "name")) {
++ $_ngcc_current_state = 49;
++ }
++ else {
++ unexpectedEnterAttribute($__qname);
++ }
++ }
++ break;
++ case 16:
++ {
++ $_ngcc_current_state = 15;
++ $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 51:
++ {
++ if((($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "with-params") || (($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "alias") || ($__uri == "" && $__local == "name")))) {
++ NGCCHandler h = new NGCCcall(this, super._source, $runtime, 53);
++ spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedEnterAttribute($__qname);
++ }
++ }
++ break;
++ case 89:
++ {
++ if(($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "class")) {
++ NGCCHandler h = new NGCCLocalClass(this, super._source, $runtime, 91, p,loc);
++ spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedEnterAttribute($__qname);
++ }
++ }
++ break;
++ case 21:
++ {
++ if(($__uri == "" && $__local == "name")) {
++ $_ngcc_current_state = 20;
++ }
++ else {
++ unexpectedEnterAttribute($__qname);
++ }
++ }
++ break;
++ case 105:
++ {
++ action17();
++ $_ngcc_current_state = 104;
++ $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ default:
++ {
++ unexpectedEnterAttribute($__qname);
++ }
++ break;
++ }
++ }
++
++ public void leaveAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 33:
++ {
++ if(($__uri == "" && $__local == "type")) {
++ $_ngcc_current_state = 31;
++ }
++ else {
++ unexpectedLeaveAttribute($__qname);
++ }
++ }
++ break;
++ case 23:
++ {
++ if(($__uri == "" && $__local == "type")) {
++ $_ngcc_current_state = 16;
++ }
++ else {
++ unexpectedLeaveAttribute($__qname);
++ }
++ }
++ break;
++ case 19:
++ {
++ if(($__uri == "" && $__local == "name")) {
++ $_ngcc_current_state = 18;
++ }
++ else {
++ unexpectedLeaveAttribute($__qname);
++ }
++ }
++ break;
++ case 48:
++ {
++ if(($__uri == "" && $__local == "name")) {
++ $_ngcc_current_state = 47;
++ action8();
++ }
++ else {
++ unexpectedLeaveAttribute($__qname);
++ }
++ }
++ break;
++ case 0:
++ {
++ revertToParentFromLeaveAttribute(p, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 32:
++ {
++ $_ngcc_current_state = 31;
++ $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 16:
++ {
++ $_ngcc_current_state = 15;
++ $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 54:
++ {
++ NGCCHandler h = new NGCCwithParams(this, super._source, $runtime, 56, params);
++ spawnChildFromLeaveAttribute(h, $__uri, $__local, $__qname);
++ }
++ break;
++ case 56:
++ {
++ if(($__uri == "" && $__local == "name")) {
++ $_ngcc_current_state = 55;
++ action9();
++ }
++ else {
++ unexpectedLeaveAttribute($__qname);
++ }
++ }
++ break;
++ case 105:
++ {
++ action17();
++ $_ngcc_current_state = 104;
++ $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ default:
++ {
++ unexpectedLeaveAttribute($__qname);
++ }
++ break;
++ }
++ }
++
++ public void text(String $value) throws SAXException {
++ int $ai;
++ switch($_ngcc_current_state) {
++ case 44:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0) {
++ NGCCHandler h = new NGCCLocalClass(this, super._source, $runtime, 46, p,loc);
++ spawnChildFromText(h, $value);
++ }
++ }
++ break;
++ case 29:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0) {
++ NGCCHandler h = new NGCCLocalClass(this, super._source, $runtime, 30, p,loc);
++ spawnChildFromText(h, $value);
++ }
++ }
++ break;
++ case 54:
++ {
++ NGCCHandler h = new NGCCwithParams(this, super._source, $runtime, 56, params);
++ spawnChildFromText(h, $value);
++ }
++ break;
++ case 84:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0) {
++ NGCCHandler h = new NGCCLocalClass(this, super._source, $runtime, 86, p,loc);
++ spawnChildFromText(h, $value);
++ }
++ }
++ break;
++ case 15:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","alias"))>=0) {
++ NGCCHandler h = new NGCCalias(this, super._source, $runtime, 14);
++ spawnChildFromText(h, $value);
++ }
++ else {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0) {
++ NGCCHandler h = new NGCCalias(this, super._source, $runtime, 14);
++ spawnChildFromText(h, $value);
++ }
++ }
++ }
++ break;
++ case 24:
++ {
++ typeName = $value;
++ $_ngcc_current_state = 23;
++ }
++ break;
++ case 106:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","alias"))>=0) {
++ NGCCHandler h = new NGCCalias(this, super._source, $runtime, 111);
++ spawnChildFromText(h, $value);
++ }
++ else {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0) {
++ NGCCHandler h = new NGCCalias(this, super._source, $runtime, 111);
++ spawnChildFromText(h, $value);
++ }
++ }
++ }
++ break;
++ case 30:
++ {
++ value = $value;
++ $_ngcc_current_state = 29;
++ action5();
++ }
++ break;
++ case 112:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0) {
++ NGCCHandler h = new NGCCLocalClass(this, super._source, $runtime, 118, p,loc);
++ spawnChildFromText(h, $value);
++ }
++ }
++ break;
++ case 68:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0) {
++ NGCCHandler h = new NGCCLocalClass(this, super._source, $runtime, 70, p,loc);
++ spawnChildFromText(h, $value);
++ }
++ }
++ break;
++ case 20:
++ {
++ $_ngcc_current_state = 19;
++ }
++ break;
++ case 58:
++ {
++ if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendText(super._cookie, $value);
++ }
++ }
++ break;
++ case 39:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0) {
++ NGCCHandler h = new NGCCLocalClass(this, super._source, $runtime, 41, p,loc);
++ spawnChildFromText(h, $value);
++ }
++ }
++ break;
++ case 49:
++ {
++ target = $value;
++ $_ngcc_current_state = 48;
++ }
++ break;
++ case 99:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0) {
++ NGCCHandler h = new NGCCLocalClass(this, super._source, $runtime, 103, p,loc);
++ spawnChildFromText(h, $value);
++ }
++ }
++ break;
++ case 18:
++ {
++ $_ngcc_current_state = 17;
++ }
++ break;
++ case 14:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0) {
++ NGCCHandler h = new NGCCLocalClass(this, super._source, $runtime, 13, p,loc);
++ spawnChildFromText(h, $value);
++ }
++ }
++ break;
++ case 40:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","alias"))>=0) {
++ NGCCHandler h = new NGCCalias(this, super._source, $runtime, 42);
++ spawnChildFromText(h, $value);
++ }
++ else {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0) {
++ NGCCHandler h = new NGCCalias(this, super._source, $runtime, 42);
++ spawnChildFromText(h, $value);
++ }
++ }
++ }
++ break;
++ case 104:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0) {
++ NGCCHandler h = new NGCCLocalClass(this, super._source, $runtime, 108, p,loc);
++ spawnChildFromText(h, $value);
++ }
++ }
++ break;
++ case 109:
++ {
++ if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
++ NGCCHandler h = new name(this, super._source, $runtime, 114, true);
++ spawnChildFromText(h, $value);
++ }
++ }
++ break;
++ case 34:
++ {
++ if($value.equals("token")) {
++ $_ngcc_current_state = 33;
++ }
++ }
++ break;
++ case 114:
++ {
++ if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
++ NGCCHandler h = new name(this, super._source, $runtime, 120, false);
++ spawnChildFromText(h, $value);
++ }
++ }
++ break;
++ case 59:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","alias"))>=0) {
++ NGCCHandler h = new NGCCcall(this, super._source, $runtime, 61);
++ spawnChildFromText(h, $value);
++ }
++ else {
++ if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
++ NGCCHandler h = new NGCCcall(this, super._source, $runtime, 61);
++ spawnChildFromText(h, $value);
++ }
++ else {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","with-params"))>=0) {
++ NGCCHandler h = new NGCCcall(this, super._source, $runtime, 61);
++ spawnChildFromText(h, $value);
++ }
++ }
++ }
++ }
++ break;
++ case 57:
++ {
++ target = $value;
++ $_ngcc_current_state = 56;
++ }
++ break;
++ case 25:
++ {
++ if(($ai = $runtime.getAttributeIndex("","type"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendText(super._cookie, $value);
++ }
++ }
++ break;
++ case 79:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0) {
++ NGCCHandler h = new NGCCLocalClass(this, super._source, $runtime, 81, p,loc);
++ spawnChildFromText(h, $value);
++ }
++ }
++ break;
++ case 74:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0) {
++ NGCCHandler h = new NGCCLocalClass(this, super._source, $runtime, 76, p,loc);
++ spawnChildFromText(h, $value);
++ }
++ }
++ break;
++ case 63:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0) {
++ NGCCHandler h = new NGCCLocalClass(this, super._source, $runtime, 65, p,loc);
++ spawnChildFromText(h, $value);
++ }
++ }
++ break;
++ case 70:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","alias"))>=0) {
++ NGCCHandler h = new NGCCalias(this, super._source, $runtime, 72);
++ spawnChildFromText(h, $value);
++ }
++ }
++ break;
++ case 0:
++ {
++ revertToParentFromText(p, super._cookie, $value);
++ }
++ break;
++ case 31:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","alias"))>=0) {
++ NGCCHandler h = new NGCCalias(this, super._source, $runtime, 32);
++ spawnChildFromText(h, $value);
++ }
++ else {
++ NGCCHandler h = new NGCCalias(this, super._source, $runtime, 32);
++ spawnChildFromText(h, $value);
++ }
++ }
++ break;
++ case 94:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0) {
++ NGCCHandler h = new NGCCLocalClass(this, super._source, $runtime, 97, p,loc);
++ spawnChildFromText(h, $value);
++ }
++ }
++ break;
++ case 32:
++ {
++ if(($ai = $runtime.getAttributeIndex("","type"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendText(super._cookie, $value);
++ }
++ else {
++ $_ngcc_current_state = 31;
++ $runtime.sendText(super._cookie, $value);
++ }
++ }
++ break;
++ case 16:
++ {
++ $_ngcc_current_state = 15;
++ $runtime.sendText(super._cookie, $value);
++ }
++ break;
++ case 3:
++ {
++ value = $value;
++ $_ngcc_current_state = 2;
++ action0();
++ }
++ break;
++ case 50:
++ {
++ if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendText(super._cookie, $value);
++ }
++ }
++ break;
++ case 51:
++ {
++ if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
++ NGCCHandler h = new NGCCcall(this, super._source, $runtime, 53);
++ spawnChildFromText(h, $value);
++ }
++ else {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","alias"))>=0) {
++ NGCCHandler h = new NGCCcall(this, super._source, $runtime, 53);
++ spawnChildFromText(h, $value);
++ }
++ else {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","with-params"))>=0) {
++ NGCCHandler h = new NGCCcall(this, super._source, $runtime, 53);
++ spawnChildFromText(h, $value);
++ }
++ }
++ }
++ }
++ break;
++ case 89:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0) {
++ NGCCHandler h = new NGCCLocalClass(this, super._source, $runtime, 91, p,loc);
++ spawnChildFromText(h, $value);
++ }
++ }
++ break;
++ case 21:
++ {
++ if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendText(super._cookie, $value);
++ }
++ }
++ break;
++ case 105:
++ {
++ action17();
++ $_ngcc_current_state = 104;
++ $runtime.sendText(super._cookie, $value);
++ }
++ break;
++ }
++ }
++
++ public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
++ switch($__cookie__) {
++ case 66:
++ {
++ p = ((Pattern)$__result__);
++ action10();
++ $_ngcc_current_state = 63;
++ }
++ break;
++ case 82:
++ {
++ p = ((Pattern)$__result__);
++ action13();
++ $_ngcc_current_state = 79;
++ }
++ break;
++ case 103:
++ {
++ p = ((Pattern)$__result__);
++ $_ngcc_current_state = 98;
++ }
++ break;
++ case 42:
++ {
++ alias = ((String)$__result__);
++ action6();
++ $_ngcc_current_state = 39;
++ }
++ break;
++ case 13:
++ {
++ p = ((Pattern)$__result__);
++ $_ngcc_current_state = 13;
++ }
++ break;
++ case 114:
++ {
++ name = ((NameClass)$__result__);
++ $_ngcc_current_state = 106;
++ }
++ break;
++ case 108:
++ {
++ p = ((Pattern)$__result__);
++ $_ngcc_current_state = 103;
++ }
++ break;
++ case 92:
++ {
++ child = ((Pattern)$__result__);
++ action15();
++ $_ngcc_current_state = 89;
++ }
++ break;
++ case 6:
++ {
++ action1();
++ $_ngcc_current_state = 6;
++ }
++ break;
++ case 87:
++ {
++ p = ((Pattern)$__result__);
++ action14();
++ $_ngcc_current_state = 84;
++ }
++ break;
++ case 56:
++ {
++ $_ngcc_current_state = 0;
++ }
++ break;
++ case 32:
++ {
++ alias = ((String)$__result__);
++ $_ngcc_current_state = 30;
++ }
++ break;
++ case 99:
++ {
++ child = ((Pattern)$__result__);
++ action16();
++ $_ngcc_current_state = 94;
++ }
++ break;
++ case 97:
++ {
++ p = ((Pattern)$__result__);
++ $_ngcc_current_state = 93;
++ }
++ break;
++ case 98:
++ {
++ child = ((Pattern)$__result__);
++ action16();
++ $_ngcc_current_state = 94;
++ }
++ break;
++ case 71:
++ {
++ p = ((Pattern)$__result__);
++ action11();
++ $_ngcc_current_state = 68;
++ }
++ break;
++ case 86:
++ {
++ p = ((Pattern)$__result__);
++ $_ngcc_current_state = 83;
++ }
++ break;
++ case 113:
++ {
++ p = ((Pattern)$__result__);
++ $_ngcc_current_state = 105;
++ }
++ break;
++ case 111:
++ {
++ alias = ((String)$__result__);
++ $_ngcc_current_state = 105;
++ }
++ break;
++ case 118:
++ {
++ p = ((Pattern)$__result__);
++ $_ngcc_current_state = 111;
++ }
++ break;
++ case 70:
++ {
++ p = ((Pattern)$__result__);
++ $_ngcc_current_state = 67;
++ }
++ break;
++ case 77:
++ {
++ p = ((Pattern)$__result__);
++ action12();
++ $_ngcc_current_state = 74;
++ }
++ break;
++ case 104:
++ {
++ p = ((Pattern)$__result__);
++ $_ngcc_current_state = 99;
++ }
++ break;
++ case 120:
++ {
++ name = ((NameClass)$__result__);
++ $_ngcc_current_state = 113;
++ }
++ break;
++ case 81:
++ {
++ p = ((Pattern)$__result__);
++ $_ngcc_current_state = 78;
++ }
++ break;
++ case 119:
++ {
++ p = ((Pattern)$__result__);
++ action18();
++ $_ngcc_current_state = 112;
++ }
++ break;
++ case 46:
++ {
++ p = ((Pattern)$__result__);
++ $_ngcc_current_state = 43;
++ }
++ break;
++ case 30:
++ {
++ p = ((Pattern)$__result__);
++ $_ngcc_current_state = 28;
++ }
++ break;
++ case 14:
++ {
++ alias = ((String)$__result__);
++ action4();
++ $_ngcc_current_state = 14;
++ }
++ break;
++ case 41:
++ {
++ p = ((Pattern)$__result__);
++ $_ngcc_current_state = 38;
++ }
++ break;
++ case 61:
++ {
++ params = ((NGCCCallParam)$__result__);
++ $_ngcc_current_state = 58;
++ }
++ break;
++ case 76:
++ {
++ p = ((Pattern)$__result__);
++ $_ngcc_current_state = 73;
++ }
++ break;
++ case 65:
++ {
++ p = ((Pattern)$__result__);
++ $_ngcc_current_state = 62;
++ }
++ break;
++ case 72:
++ {
++ alias = ((String)$__result__);
++ $_ngcc_current_state = 69;
++ }
++ break;
++ case 53:
++ {
++ params = ((NGCCCallParam)$__result__);
++ $_ngcc_current_state = 50;
++ }
++ break;
++ case 93:
++ {
++ child = ((Pattern)$__result__);
++ action15();
++ $_ngcc_current_state = 89;
++ }
++ break;
++ case 91:
++ {
++ p = ((Pattern)$__result__);
++ $_ngcc_current_state = 88;
++ }
++ break;
++ }
++ }
++
++ public boolean accepted() {
++ return(($_ngcc_current_state == 0));
++ }
++
++
++ private Locator loc;
++
++}
++
+diff --git a/src/relaxngcc/parser/state/Start.java b/src/relaxngcc/parser/state/Start.java
+new file mode 100644
+index 0000000..4e8e037
+--- /dev/null
++++ b/src/relaxngcc/parser/state/Start.java
+@@ -0,0 +1,147 @@
++/* this file is generated by RelaxNGCC */
++package relaxngcc.parser.state;
++import org.xml.sax.SAXException;
++import org.xml.sax.Attributes;
++import relaxngcc.parser.ParserRuntime;
++
++ import relaxngcc.grammar.*;
++ import relaxngcc.datatype.Datatype;
++ import org.xml.sax.Locator;
++
++
++
++public class Start extends NGCCHandler {
++ private Pattern result;
++ protected final ParserRuntime $runtime;
++ private int $_ngcc_current_state;
++ protected String $uri;
++ protected String $localName;
++ protected String $qname;
++
++ public final NGCCRuntime getRuntime() {
++ return($runtime);
++ }
++
++ public Start(NGCCHandler parent, NGCCEventSource source, ParserRuntime runtime, int cookie) {
++ super(source, parent, cookie);
++ $runtime = runtime;
++ $_ngcc_current_state = 1;
++ }
++
++ public Start(ParserRuntime runtime) {
++ this(null, runtime, runtime, -1);
++ }
++
++ public void enterElement(String $__uri, String $__local, String $__qname, Attributes $attrs) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 0:
++ {
++ revertToParentFromEnterElement(this, super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ break;
++ case 1:
++ {
++ if((($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "data") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "element") || (($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "java") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "mixed") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "choice") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "oneOrMore") || (($_ [...]
++ NGCCHandler h = new PatternState(this, super._source, $runtime, 470);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ default:
++ {
++ unexpectedEnterElement($__qname);
++ }
++ break;
++ }
++ }
++
++ public void leaveElement(String $__uri, String $__local, String $__qname) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ 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 {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ 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 {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 0:
++ {
++ revertToParentFromLeaveAttribute(this, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ default:
++ {
++ unexpectedLeaveAttribute($__qname);
++ }
++ break;
++ }
++ }
++
++ public void text(String $value) throws SAXException {
++ switch($_ngcc_current_state) {
++ case 0:
++ {
++ revertToParentFromText(this, super._cookie, $value);
++ }
++ break;
++ }
++ }
++
++ public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
++ switch($__cookie__) {
++ case 470:
++ {
++ result = ((Pattern)$__result__);
++ $_ngcc_current_state = 0;
++ }
++ break;
++ }
++ }
++
++ public boolean accepted() {
++ return(($_ngcc_current_state == 0));
++ }
++
++
++ public Pattern getResult() { return result; }
++
++}
++
+diff --git a/src/relaxngcc/parser/state/StartElement.java b/src/relaxngcc/parser/state/StartElement.java
+new file mode 100644
+index 0000000..ed4d46f
+--- /dev/null
++++ b/src/relaxngcc/parser/state/StartElement.java
+@@ -0,0 +1,228 @@
++/* this file is generated by RelaxNGCC */
++package relaxngcc.parser.state;
++import org.xml.sax.SAXException;
++import org.xml.sax.Attributes;
++import relaxngcc.parser.ParserRuntime;
++
++ import relaxngcc.grammar.*;
++ import relaxngcc.datatype.Datatype;
++ import org.xml.sax.Locator;
++
++
++
++class StartElement extends NGCCHandler {
++ protected final ParserRuntime $runtime;
++ private int $_ngcc_current_state;
++ protected String $uri;
++ protected String $localName;
++ protected String $qname;
++
++ public final NGCCRuntime getRuntime() {
++ return($runtime);
++ }
++
++ public StartElement(NGCCHandler parent, NGCCEventSource source, ParserRuntime runtime, int cookie) {
++ super(source, parent, cookie);
++ $runtime = runtime;
++ $_ngcc_current_state = 3;
++ }
++
++ public StartElement(ParserRuntime 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(this, super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ break;
++ case 2:
++ {
++ if((($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "data") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "element") || (($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "java") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "mixed") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "choice") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "oneOrMore") || (($_ [...]
++ NGCCHandler h = new PatternDefinition(this, super._source, $runtime, 472, $runtime.grammar);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ case 3:
++ {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "start")) {
++ $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
++ $_ngcc_current_state = 2;
++ }
++ 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 1:
++ {
++ if(($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "start")) {
++ $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
++ $_ngcc_current_state = 0;
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ case 0:
++ {
++ revertToParentFromLeaveElement(this, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 2:
++ {
++ if(((($ai = $runtime.getAttributeIndex("","combine"))>=0 && ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "start")) || ((($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","return-value"))>=0 && ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "start")) || ((($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","params"))>=0 && ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "start" [...]
++ NGCCHandler h = new PatternDefinition(this, super._source, $runtime, 472, $runtime.grammar);
++ spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ default:
++ {
++ unexpectedLeaveElement($__qname);
++ }
++ break;
++ }
++ }
++
++ public void enterAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 0:
++ {
++ revertToParentFromEnterAttribute(this, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 2:
++ {
++ if((($__uri == "" && $__local == "combine") || (($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "return-value") || (($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "params") || (($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "class") || (($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "return-type") || ($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "access"))))))) {
++ NGCCHandler h = new PatternDefinition(this, super._source, $runtime, 472, $runtime.grammar);
++ spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedEnterAttribute($__qname);
++ }
++ }
++ break;
++ default:
++ {
++ unexpectedEnterAttribute($__qname);
++ }
++ break;
++ }
++ }
++
++ public void leaveAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 0:
++ {
++ revertToParentFromLeaveAttribute(this, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ default:
++ {
++ unexpectedLeaveAttribute($__qname);
++ }
++ break;
++ }
++ }
++
++ public void text(String $value) throws SAXException {
++ int $ai;
++ switch($_ngcc_current_state) {
++ case 0:
++ {
++ revertToParentFromText(this, super._cookie, $value);
++ }
++ break;
++ case 2:
++ {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","access"))>=0) {
++ NGCCHandler h = new PatternDefinition(this, super._source, $runtime, 472, $runtime.grammar);
++ spawnChildFromText(h, $value);
++ }
++ else {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","return-type"))>=0) {
++ NGCCHandler h = new PatternDefinition(this, super._source, $runtime, 472, $runtime.grammar);
++ spawnChildFromText(h, $value);
++ }
++ else {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","class"))>=0) {
++ NGCCHandler h = new PatternDefinition(this, super._source, $runtime, 472, $runtime.grammar);
++ spawnChildFromText(h, $value);
++ }
++ else {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","params"))>=0) {
++ NGCCHandler h = new PatternDefinition(this, super._source, $runtime, 472, $runtime.grammar);
++ spawnChildFromText(h, $value);
++ }
++ else {
++ if(($ai = $runtime.getAttributeIndex("http://www.xml.gr.jp/xmlns/relaxngcc","return-value"))>=0) {
++ NGCCHandler h = new PatternDefinition(this, super._source, $runtime, 472, $runtime.grammar);
++ spawnChildFromText(h, $value);
++ }
++ else {
++ if(($ai = $runtime.getAttributeIndex("","combine"))>=0) {
++ NGCCHandler h = new PatternDefinition(this, super._source, $runtime, 472, $runtime.grammar);
++ spawnChildFromText(h, $value);
++ }
++ }
++ }
++ }
++ }
++ }
++ }
++ break;
++ }
++ }
++
++ public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
++ switch($__cookie__) {
++ case 472:
++ {
++ $_ngcc_current_state = 1;
++ }
++ break;
++ }
++ }
++
++ public boolean accepted() {
++ return(($_ngcc_current_state == 0));
++ }
++
++
++}
++
+diff --git a/src/relaxngcc/parser/state/name.java b/src/relaxngcc/parser/state/name.java
+new file mode 100644
+index 0000000..de4dff2
+--- /dev/null
++++ b/src/relaxngcc/parser/state/name.java
+@@ -0,0 +1,208 @@
++/* this file is generated by RelaxNGCC */
++package relaxngcc.parser.state;
++import org.xml.sax.SAXException;
++import org.xml.sax.Attributes;
++import relaxngcc.parser.ParserRuntime;
++
++ import relaxngcc.grammar.*;
++ import relaxngcc.datatype.Datatype;
++ import org.xml.sax.Locator;
++
++
++
++class name extends NGCCHandler {
++ private String name;
++ private boolean attributeMode;
++ private NameClass nc;
++ protected final ParserRuntime $runtime;
++ private int $_ngcc_current_state;
++ protected String $uri;
++ protected String $localName;
++ protected String $qname;
++
++ public final NGCCRuntime getRuntime() {
++ return($runtime);
++ }
++
++ public name(NGCCHandler parent, NGCCEventSource source, ParserRuntime runtime, int cookie, boolean _attributeMode) {
++ super(source, parent, cookie);
++ $runtime = runtime;
++ this.attributeMode = _attributeMode;
++ $_ngcc_current_state = 1;
++ }
++
++ public name(ParserRuntime runtime, boolean _attributeMode) {
++ this(null, runtime, runtime, -1, _attributeMode);
++ }
++
++ private void action0()throws SAXException {
++ nc = $runtime.parseSimpleName(name,attributeMode);
++
++}
++
++ 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(nc, super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ break;
++ case 1:
++ {
++ if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ if((($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "name") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "nsName") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "anyName") || ($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "choice"))))) {
++ NGCCHandler h = new NameClassState(this, super._source, $runtime, 504);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ 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 0:
++ {
++ revertToParentFromLeaveElement(nc, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 1:
++ {
++ if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
++ }
++ else {
++ unexpectedLeaveElement($__qname);
++ }
++ }
++ break;
++ default:
++ {
++ unexpectedLeaveElement($__qname);
++ }
++ break;
++ }
++ }
++
++ public void enterAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 0:
++ {
++ revertToParentFromEnterAttribute(nc, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 1:
++ {
++ if(($__uri == "" && $__local == "name")) {
++ $_ngcc_current_state = 4;
++ }
++ else {
++ unexpectedEnterAttribute($__qname);
++ }
++ }
++ break;
++ default:
++ {
++ unexpectedEnterAttribute($__qname);
++ }
++ break;
++ }
++ }
++
++ public void leaveAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 0:
++ {
++ revertToParentFromLeaveAttribute(nc, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ case 3:
++ {
++ if(($__uri == "" && $__local == "name")) {
++ $_ngcc_current_state = 0;
++ }
++ else {
++ unexpectedLeaveAttribute($__qname);
++ }
++ }
++ break;
++ default:
++ {
++ unexpectedLeaveAttribute($__qname);
++ }
++ break;
++ }
++ }
++
++ public void text(String $value) throws SAXException {
++ int $ai;
++ switch($_ngcc_current_state) {
++ case 0:
++ {
++ revertToParentFromText(nc, super._cookie, $value);
++ }
++ break;
++ case 1:
++ {
++ if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
++ $runtime.consumeAttribute($ai);
++ $runtime.sendText(super._cookie, $value);
++ }
++ }
++ break;
++ case 4:
++ {
++ name = $value;
++ $_ngcc_current_state = 3;
++ action0();
++ }
++ break;
++ }
++ }
++
++ public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
++ switch($__cookie__) {
++ case 504:
++ {
++ nc = ((NameClass)$__result__);
++ $_ngcc_current_state = 0;
++ }
++ break;
++ }
++ }
++
++ public boolean accepted() {
++ return(($_ngcc_current_state == 0));
++ }
++
++
++}
++
+diff --git a/src/relaxngcc/parser/state/patterns.java b/src/relaxngcc/parser/state/patterns.java
+new file mode 100644
+index 0000000..c2d7366
+--- /dev/null
++++ b/src/relaxngcc/parser/state/patterns.java
+@@ -0,0 +1,168 @@
++/* this file is generated by RelaxNGCC */
++package relaxngcc.parser.state;
++import org.xml.sax.SAXException;
++import org.xml.sax.Attributes;
++import relaxngcc.parser.ParserRuntime;
++
++ import relaxngcc.grammar.*;
++ import relaxngcc.datatype.Datatype;
++ import org.xml.sax.Locator;
++
++
++
++class patterns extends NGCCHandler {
++ private Pattern child;
++ protected final ParserRuntime $runtime;
++ private int $_ngcc_current_state;
++ protected String $uri;
++ protected String $localName;
++ protected String $qname;
++
++ public final NGCCRuntime getRuntime() {
++ return($runtime);
++ }
++
++ public patterns(NGCCHandler parent, NGCCEventSource source, ParserRuntime runtime, int cookie) {
++ super(source, parent, cookie);
++ $runtime = runtime;
++ $_ngcc_current_state = 1;
++ }
++
++ public patterns(ParserRuntime runtime) {
++ this(null, runtime, runtime, -1);
++ }
++
++ private void action0()throws SAXException {
++
++ if(p==null) p = child;
++ else p = new GroupPattern($runtime, p, child);
++
++}
++
++ public void enterElement(String $__uri, String $__local, String $__qname, Attributes $attrs) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 0:
++ {
++ if((($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "data") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "element") || (($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "java") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "mixed") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "choice") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "oneOrMore") || (($_ [...]
++ NGCCHandler h = new PatternState(this, super._source, $runtime, 478);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ revertToParentFromEnterElement(p, super._cookie, $__uri, $__local, $__qname, $attrs);
++ }
++ }
++ break;
++ case 1:
++ {
++ if((($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "data") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "element") || (($__uri == "http://www.xml.gr.jp/xmlns/relaxngcc" && $__local == "java") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "mixed") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "choice") || (($__uri == "http://relaxng.org/ns/structure/1.0" && $__local == "oneOrMore") || (($_ [...]
++ NGCCHandler h = new PatternState(this, super._source, $runtime, 477);
++ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
++ }
++ else {
++ unexpectedEnterElement($__qname);
++ }
++ }
++ break;
++ default:
++ {
++ unexpectedEnterElement($__qname);
++ }
++ break;
++ }
++ }
++
++ public void leaveElement(String $__uri, String $__local, String $__qname) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 0:
++ {
++ revertToParentFromLeaveElement(p, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ default:
++ {
++ unexpectedLeaveElement($__qname);
++ }
++ break;
++ }
++ }
++
++ public void enterAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 0:
++ {
++ revertToParentFromEnterAttribute(p, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ default:
++ {
++ unexpectedEnterAttribute($__qname);
++ }
++ break;
++ }
++ }
++
++ public void leaveAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
++ $uri = $__uri;
++ $localName = $__local;
++ $qname = $__qname;
++ switch($_ngcc_current_state) {
++ case 0:
++ {
++ revertToParentFromLeaveAttribute(p, super._cookie, $__uri, $__local, $__qname);
++ }
++ break;
++ default:
++ {
++ unexpectedLeaveAttribute($__qname);
++ }
++ break;
++ }
++ }
++
++ public void text(String $value) throws SAXException {
++ switch($_ngcc_current_state) {
++ case 0:
++ {
++ revertToParentFromText(p, super._cookie, $value);
++ }
++ break;
++ }
++ }
++
++ public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
++ switch($__cookie__) {
++ case 478:
++ {
++ child = ((Pattern)$__result__);
++ action0();
++ $_ngcc_current_state = 0;
++ }
++ break;
++ case 477:
++ {
++ child = ((Pattern)$__result__);
++ action0();
++ $_ngcc_current_state = 0;
++ }
++ break;
++ }
++ }
++
++ public boolean accepted() {
++ return(($_ngcc_current_state == 0));
++ }
++
++
++ private Pattern p=null;
++
++}
++
diff --git a/debian/patches/series b/debian/patches/series
index 8eade6e..6d63606 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,2 @@
add-build-xml.diff
+bootstrap-files.diff
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/relaxngcc.git
More information about the pkg-java-commits
mailing list