diff --git a/xmlschema.ast b/xmlschema.ast
index ed2762923840be53f66eb4b018c1a2444e870f9a..f05e4a0bb1d2f20227f82fd37b2b45af19b3549d 100644
--- a/xmlschema.ast
+++ b/xmlschema.ast
@@ -88,6 +88,7 @@ Type                 : Attribute;
 Use                  : Attribute;
 Value                : Attribute;
 Version              : Attribute;
+Xmlns                : Attribute;
 XmlnsXs              : Attribute;
 XmlnsScxml           : Attribute;
 
diff --git a/xmlschema.jjt b/xmlschema.jjt
index 9e6c22b7a92a622da3a28de234c881b02c247220..36ca97ae35ec8a8fa9beb5de493591ef692b1c3a 100644
--- a/xmlschema.jjt
+++ b/xmlschema.jjt
@@ -27,9 +27,9 @@ options {
     NODE_PREFIX                 = "";
     JAVA_UNICODE_ESCAPE         = true;
     STATIC                      = false;
-//    	DEBUG_PARSER                = true;
-//    	DEBUG_TOKEN_MANAGER         = true;
-//   	DEBUG_LOOKAHEAD             = true;
+   	// DEBUG_PARSER                = true;
+   	// DEBUG_TOKEN_MANAGER         = true;
+  	// DEBUG_LOOKAHEAD             = true;
 } // options
 
 
@@ -130,6 +130,7 @@ SPECIAL_TOKEN : /* COMMENTS */
   | < VALUE                    : "value" >
   | < VERSION                  : "version" >
   | < XML                      : "xml"          >
+  | < XMLNS                    : "xmlns" >
   | < XMLNS_XS                 : "xmlns:xs" >
   | < XMLNS_SCXML              : "xmlns:scxml" >
 
@@ -656,6 +657,7 @@ void Attribute() : {}
   |	Type()
   |	Use()
   |	Value()
+  |	Xmlns()
   |	XmlnsXs()
   |	XmlnsScxml()
 }
@@ -770,6 +772,11 @@ void Value() #Value : {}
     <VALUE> <ASSIGN> AttValue()
 }
 
+void Xmlns() #Xmlns : {}
+{
+    <XMLNS> <ASSIGN> AttValue()
+}
+
 void XmlnsXs() #XmlnsXs : {}
 {
     <XMLNS_XS> <ASSIGN> AttValue()