New test.
[mono.git] / mcs / class / Commons.Xml.Relaxng / Commons.Xml.Relaxng.Derivative / RdpObjects.cs
index 3078a8cfc06018e3ccbae2cf218fc4bfa904b457..27727056a828213b40338cc05f5ec95220d6b190 100644 (file)
@@ -1,14 +1,14 @@
-//\r
-// Commons.Xml.Relaxng.Derivative.RdpObjects.cs\r
-//\r
-// Author:\r
-//     Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>\r
-//\r
-// 2003 Atsushi Enomoto "No rights reserved."\r
-//\r
-// Copyright (c) 2004 Novell Inc.\r
-// All rights reserved\r
-//\r
+//
+// Commons.Xml.Relaxng.Derivative.RdpObjects.cs
+//
+// Author:
+//     Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+//
+// 2003 Atsushi Enomoto "No rights reserved."
+//
+// Copyright (c) 2004 Novell Inc.
+// All rights reserved
+//
 
 //
 // Permission is hereby granted, free of charge, to any person obtaining
 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
-\r
-using System;\r
-using System.Collections;\r
-using System.Collections.Specialized;\r
-using System.Xml;\r
-\r
-namespace Commons.Xml.Relaxng.Derivative\r
-{\r
-       ///\r
-       /// Datatype Related Classes\r
-       ///\r
-       public class RdpParamList : ArrayList\r
-       {\r
-               public RdpParamList () : base ()\r
-               {\r
-               }\r
-       }\r
-\r
-       public class RdpParam\r
-       {\r
-               public RdpParam (string localName, string value)\r
-               {\r
-                       this.localName = localName;\r
-                       this.value = value;\r
-               }\r
-\r
-               string value;\r
-               public string Value {\r
-                       get { return this.value; }\r
-               }\r
-\r
-               string localName;\r
-               public string LocalName {\r
-                       get { return localName; }\r
-               }\r
-       }\r
-\r
-       public class RdpDatatype\r
-       {\r
-               RelaxngDatatypeProvider provider;\r
-               string localName;\r
-               string ns;\r
-               RelaxngDatatype datatype;\r
-\r
-               public RdpDatatype (string ns, string localName, RelaxngParamList parameters, RelaxngDatatypeProvider provider)\r
-               {\r
-                       this.ns = ns;\r
-                       this.localName = localName;\r
-                       this.provider = provider;\r
-                       if (provider == null)\r
-                               provider = RelaxngMergedProvider.DefaultProvider;\r
-                       datatype = provider.GetDatatype (localName, ns, parameters);\r
-                       if (datatype == null) {\r
-                               throw new RelaxngException ("Invalid datatype was found.");\r
-//                             datatype = RelaxngString.Instance;\r
-                       }\r
-               }\r
-\r
-               public string NamespaceURI {\r
-                       get { return ns; }\r
-               }\r
-\r
-               public string LocalName {\r
-                       get { return localName; }\r
-               }\r
-\r
-               public virtual bool IsAllowed (string value, XmlReader reader)\r
-               {\r
-                       return datatype.IsValid (value, reader);\r
-               }\r
-\r
-               static char [] wsChars = new char [] {' ', '\n', '\r', '\t'};\r
-\r
-               public virtual bool IsTypeEqual (string s1, string s2, XmlReader reader)\r
-               {\r
-                       return datatype.CompareString (s1, s2, reader);\r
-               }\r
-       }\r
-\r
-       /*\r
-\r
-       ///\r
-       /// ChildNode Classes\r
-       ///\r
-       public abstract class RdpChildNode\r
-       {\r
-               // Strip\r
-               public virtual bool IsNonWhitespaceText {\r
-                       get { return false; }\r
-               }\r
-       }\r
-\r
-       public class RdpTextChild : RdpChildNode\r
-       {\r
-               public RdpTextChild (string text)\r
-               {\r
-                       this.text = text;\r
-               }\r
-\r
-               string text;\r
-               public string Text {\r
-                       get { return text; }\r
-               }\r
-\r
-               public override bool IsNonWhitespaceText {\r
-                       get { return RdpUtil.Whitespace (text); }\r
-               }\r
-       }\r
-\r
-       public class RdpElementChild : RdpChildNode\r
-       {\r
-               public RdpElementChild (string name, string ns, RdpContext ctx, RdpAttributes attributes, RdpChildNodes childNodes)\r
-               {\r
-                       this.name = name;\r
-                       this.ns = ns;\r
-                       this.ctx = ctx;\r
-                       this.attributes = attributes;\r
-                       this.childNodes = childNodes;\r
-               }\r
-\r
-               string name;\r
-               public string LocalName {\r
-                       get { return name; }\r
-               }\r
-\r
-               string ns;\r
-               public string NamespaceURI {\r
-                       get { return ns; }\r
-               }\r
-\r
-               RdpContext ctx;\r
-               public RdpContext Context {\r
-                       get { return ctx; }\r
-               }\r
-\r
-               RdpAttributes attributes;\r
-               public RdpAttributes Attributes {\r
-                       get { return attributes; }\r
-               }\r
-\r
-               RdpChildNodes childNodes;\r
-               public RdpChildNodes ChildNodes {\r
-                       get { return childNodes; }\r
-               }\r
-       }\r
-       */\r
-\r
-       /*\r
-       public class RdpChildNodes : ArrayList\r
-       {\r
-               public RdpChildNodes () : base ()\r
-               {\r
-               }\r
-       }\r
-\r
-       public class RdpAttributes : ArrayList\r
-       {\r
-               public RdpAttributes () : base ()\r
-               {\r
-               }\r
-       }\r
-\r
-       public class RdpAttributeNode : RdpChildNode\r
-       {\r
-               public RdpAttributeNode (string name, string ns, string value) : base ()\r
-               {\r
-                       this.name = name;\r
-                       this.ns = ns;\r
-                       this.value = value;\r
-               }\r
-\r
-               string value;\r
-               public string Value {\r
-                       get { return value; }\r
-               }\r
-\r
-               string name;\r
-               public string LocalName {\r
-                       get { return name; }\r
-               }\r
-\r
-               string ns;\r
-               public string NamespaceURI {\r
-                       get { return ns; }\r
-               }\r
-       }\r
-       */\r
-}\r
-\r
+
+using System;
+using System.Collections;
+using System.Collections.Specialized;
+using System.Xml;
+
+namespace Commons.Xml.Relaxng.Derivative
+{
+       ///
+       /// Datatype Related Classes
+       ///
+       public class RdpParamList : ArrayList
+       {
+               public RdpParamList () : base ()
+               {
+               }
+       }
+
+       public class RdpParam
+       {
+               public RdpParam (string localName, string value)
+               {
+                       this.localName = localName;
+                       this.value = value;
+               }
+
+               string value;
+               public string Value {
+                       get { return this.value; }
+               }
+
+               string localName;
+               public string LocalName {
+                       get { return localName; }
+               }
+       }
+
+       public class RdpDatatype
+       {
+               //RelaxngDatatypeProvider provider;
+               string localName;
+               string ns;
+               RelaxngDatatype datatype;
+
+               public RdpDatatype (string ns, string localName, RelaxngParamList parameters, RelaxngDatatypeProvider provider)
+               {
+                       this.ns = ns;
+                       this.localName = localName;
+                       //this.provider = provider;
+                       if (provider == null)
+                               provider = RelaxngMergedProvider.DefaultProvider;
+                       datatype = provider.GetDatatype (localName, ns, parameters);
+                       if (datatype == null) {
+                               throw new RelaxngException (String.Format ("Invalid datatype was found for namespace '{0}' and local name '{1}'", ns, localName));
+                       }
+               }
+
+               public string NamespaceURI {
+                       get { return ns; }
+               }
+
+               public string LocalName {
+                       get { return localName; }
+               }
+
+               public bool IsContextDependent {
+                       get { return datatype.IsContextDependent; }
+               }
+
+               public virtual bool IsAllowed (string value, XmlReader reader)
+               {
+                       return datatype.IsValid (value, reader);
+               }
+
+               public virtual bool IsTypeEqual (string s1, string s2, XmlReader reader)
+               {
+                       return datatype.CompareString (s1, s2, reader);
+               }
+       }
+
+}
+