[relaxngcc] 04/05: remove bootstrap patch
Timo Aaltonen
tjaalton-guest at moszumanska.debian.org
Wed Feb 26 16:23:43 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 ed5b42af4564215883faf97866ddc4c3483974a7
Author: Timo Aaltonen <tjaalton at ubuntu.com>
Date: Wed Feb 26 18:22:26 2014 +0200
remove bootstrap patch
---
debian/patches/bootstrap-files.diff | 8802 -----------------------------------
debian/patches/series | 1 -
2 files changed, 8803 deletions(-)
diff --git a/debian/patches/bootstrap-files.diff b/debian/patches/bootstrap-files.diff
deleted file mode 100644
index 5ed08d7..0000000
--- a/debian/patches/bootstrap-files.diff
+++ /dev/null
@@ -1,8802 +0,0 @@
-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 6d63606..8eade6e 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1 @@
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