Author: atsushi
Date: 2005-03-23 12:03:36 -0500 (Wed, 23 Mar 2005)
New Revision: 42152

Modified:
   trunk/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng.Rnc/ChangeLog
   trunk/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng.Rnc/RncParser.jay
   trunk/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng.Rnc/RncTokenizer.cs
Log:
2005-03-23  Atsushi Enomoto <[EMAIL PROTECTED]>

        * RncParser.jay : fixed some cast error. Supply type name for "data".
        * RncTokenizer.cs : don't reject '-' for NCName.
          Don't regard documentation token as a valid token for parser.



Modified: trunk/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng.Rnc/ChangeLog
===================================================================
--- trunk/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng.Rnc/ChangeLog       
2005-03-23 17:01:44 UTC (rev 42151)
+++ trunk/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng.Rnc/ChangeLog       
2005-03-23 17:03:36 UTC (rev 42152)
@@ -1,3 +1,9 @@
+2005-03-23  Atsushi Enomoto <[EMAIL PROTECTED]>
+
+       * RncParser.jay : fixed some cast error. Supply type name for "data".
+       * RncTokenizer.cs : don't reject '-' for NCName.
+         Don't regard documentation token as a valid token for parser.
+
 2005-02-05  Atsushi Enomoto <[EMAIL PROTECTED]>
 
        * RncParser.jay : handle default namespace.

Modified: 
trunk/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng.Rnc/RncParser.jay
===================================================================
--- trunk/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng.Rnc/RncParser.jay   
2005-03-23 17:01:44 UTC (rev 42151)
+++ trunk/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng.Rnc/RncParser.jay   
2005-03-23 17:03:36 UTC (rev 42152)
@@ -667,14 +667,11 @@
        }
        ;
 
-AnnotatedDataExcept /* returns RelaxngPatternList */
+AnnotatedDataExcept /* returns RelaxngPattern */
        : LeadAnnotatedDataExcept FollowAnnotations
        {
                // FIXME: handle followAnnotations
-               RelaxngData p = (RelaxngData) $1;
-               RelaxngPatternList l = new RelaxngPatternList ();
-               l.Add (p);
-               $$ = l;
+               $$ = $1;
        }
        ;
 
@@ -808,12 +805,14 @@
 DataExcept /* returns RelaxngData */
        : DatatypeName OptParams Minus LeadAnnotatedPrimary
        {
+               XmlQualifiedName type = (XmlQualifiedName) $1;
                RelaxngData data = new RelaxngData ();
-               foreach (RelaxngParam p in (IList) $2)
+               data.Type = type.Name;
+               data.DatatypeLibrary = type.Namespace;
+               foreach (RelaxngParam p in (RelaxngParamList) $2)
                        data.ParamList.Add (p);
                data.Except = new RelaxngExcept ();
-               foreach (RelaxngPattern p in (RelaxngPatternList) $4)
-                       data.Except.Patterns.Add (p);
+               data.Except.Patterns.Add ((RelaxngPattern) $4);
                $$ = data;
        }
        ;

Modified: 
trunk/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng.Rnc/RncTokenizer.cs
===================================================================
--- trunk/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng.Rnc/RncTokenizer.cs 
2005-03-23 17:01:44 UTC (rev 42151)
+++ trunk/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng.Rnc/RncTokenizer.cs 
2005-03-23 17:03:36 UTC (rev 42152)
@@ -188,7 +188,7 @@
                                        loop = false;
                                        break;
                                default:
-                                       if (!IsTokenContinuable (c)) {
+                                       if (!IsNCNameChar (c)) {
                                                if (c == ':') {
                                                        if (prefixName != null)
                                                                throw new 
RelaxngException ("Invalid colon was found.");
@@ -220,7 +220,7 @@
                        return s;
                }
 
-               private bool IsTokenContinuable (int c)
+               private bool IsNCNameChar (int c)
                {
                        switch (c) {
                        case '=':
@@ -238,7 +238,7 @@
                        case '*':
                        case '\\':
                        case '+':
-                       case '-':
+//                     case '-':
                        case '>':
                        case '#':
                        case '\'':
@@ -320,7 +320,8 @@
 //                             if (ReadChar () != '#')
 //                                     throw new RelaxngException ("Invalid 
character after '#'.");
                                tokenValue = ReadLine ();
-                               return Token.Documentation;
+//                             return Token.Documentation;
+                               return ParseToken ();
                        case '\'':
                        case '\"':
                                name = ReadQuoted ((char) c);

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to