[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