瀏覽代碼

2004-05-22 Atsushi Enomoto <[email protected]>

	* IXmlSchemaInfo.cs,
	  IXmlType.cs,
	  XmlSchemaDatatypeVariety.cs,
	  XmlSchemaValidity.cs,
	  XmlTypeCode.cs,
	  XmlValueConverter.cs : added.

	* XmlSchemaInfo.cs : removed (.NET 1.2).

	* XmlSchemaBuiltInType.cs,
	  XmlSchemaSet.cs : updated.

svn path=/trunk/mcs/; revision=27883
Atsushi Eno 21 年之前
父節點
當前提交
01f2cf3765

+ 14 - 0
mcs/class/System.XML/System.Xml.Schema/ChangeLog

@@ -1,3 +1,17 @@
+2004-05-22  Atsushi Enomoto <[email protected]>
+
+	* IXmlSchemaInfo.cs,
+	  IXmlType.cs,
+	  XmlSchemaDatatypeVariety.cs,
+	  XmlSchemaValidity.cs,
+	  XmlTypeCode.cs,
+	  XmlValueConverter.cs : added.
+
+	* XmlSchemaInfo.cs : removed (.NET 1.2).
+
+	* XmlSchemaBuiltInType.cs,
+	  XmlSchemaSet.cs : updated.
+
 2004-05-19  Atsushi Enomoto <[email protected]>
 
 	* CustomSerializer.cs : Added custom serializer for XmlSchema, that is

+ 30 - 0
mcs/class/System.XML/System.Xml.Schema/IXmlSchemaInfo.cs

@@ -0,0 +1,30 @@
+//
+// IXmlSchemaInfo.cs
+//
+// Author:
+//	Atsushi Enomoto <[email protected]>
+//
+// (C)2004 Novell, Inc.
+//
+
+#if NET_2_0
+namespace System.Xml.Schema
+{
+	public interface IXmlSchemaInfo
+	{
+		bool IsDefault { get; }
+
+		bool IsNil { get; }
+
+		XmlSchemaSimpleType MemberType { get; }
+
+		XmlSchemaAttribute SchemaAttribute { get; }
+
+		XmlSchemaElement SchemaElement { get; }
+
+		XmlSchemaType SchemaType { get; }
+
+		XmlSchemaValidity Validity { get; }
+	}
+}
+#endif

+ 22 - 0
mcs/class/System.XML/System.Xml.Schema/IXmlType.cs

@@ -0,0 +1,22 @@
+//
+// IXmlType.cs
+//
+// Author:
+//	Atsushi Enomoto <[email protected]>
+//
+// (C)2004 Novell, Inc.
+//
+
+#if NET_2_0
+namespace System.Xml.Schema
+{
+	public interface IXmlType
+	{
+		Type DefaultType { get; }
+
+		XmlQualifiedName QualifiedName { get; }
+
+		XmlValueConverter ValueConverter { get; }
+	}
+}
+#endif

+ 10 - 10
mcs/class/System.XML/System.Xml.Schema/XmlSchemaBuiltInType.cs

@@ -10,28 +10,26 @@ namespace System.Xml.Schema
 {
 	public enum XmlSchemaBuiltInType
 	{
-		None,
-		AnyType,
 		AnySimpleType,
-		String,
-		Bool,
-		Float,
-		Double,
-		Decimal,
-		Duration,
+		AnyType,
 		AnyUri,
 		Base64Binary,
+		Boolean,
 		Byte,
 		Date,
 		DateTime,
+		Decimal,
+		Double,
+		Duration,
+		Entities,
+		Entity,
+		Float,
 		GDay,
 		GMonth,
 		GMonthDay,
 		GYear,
 		GYearMonth,
 		HexBinary,
-		Entities,
-		Entity,
 		Id,
 		Idref,
 		Idrefs,
@@ -44,6 +42,7 @@ namespace System.Xml.Schema
 		NegativeInteger,
 		NmToken,
 		NmTokens,
+		None,
 		NonNegativeInteger,
 		NonPositiveInteger,
 		Normalizedstring,
@@ -51,6 +50,7 @@ namespace System.Xml.Schema
 		PositiveInteger,
 		QName,
 		Short,
+		String,
 		Time,
 		Token,
 		UnsignedByte,

+ 16 - 0
mcs/class/System.XML/System.Xml.Schema/XmlSchemaDatatypeVariety.cs

@@ -0,0 +1,16 @@
+//
+// System.Xml.Schema.XmlSchemaDatatypeVariety.cs
+//
+// Author:
+//	Atsushi Enomoto <[email protected]>
+//
+
+namespace System.Xml.Schema
+{
+	public enum XmlSchemaDatatypeVarielty
+	{
+		Atomic,
+		List,
+		Union
+	}
+}

+ 0 - 25
mcs/class/System.XML/System.Xml.Schema/XmlSchemaInfo.cs

@@ -1,25 +0,0 @@
-using System;
-using System.Xml;
-using System.Collections;
-
-namespace System.Xml.Schema
-{
-	/// <summary>
-	/// This class would store the infomation we need during compilation.
-	/// </summary>
-	internal class XmlSchemaInfo
-	{
-		internal XmlSchemaInfo()
-		{
-			IDCollection = new Hashtable();
-		}
-
-		internal string TargetNamespace = null;
-		internal XmlSchemaDerivationMethod FinalDefault = XmlSchemaDerivationMethod.None;
-		internal XmlSchemaDerivationMethod BlockDefault = XmlSchemaDerivationMethod.None;
-		internal XmlSchemaForm ElementFormDefault = XmlSchemaForm.None;
-		internal XmlSchemaForm AttributeFormDefault = XmlSchemaForm.None;
-		internal Hashtable IDCollection;
-		internal XmlSchemaObjectTable SchemaTypes ;
-	}
-}

+ 16 - 3
mcs/class/System.XML/System.Xml.Schema/XmlSchemaSet.cs

@@ -122,6 +122,7 @@ namespace System.Xml.Schema
 			return schema;
 		}
 
+		[MonoTODO]
 		public void Compile ()
 		{
 			throw new NotImplementedException ();
@@ -152,9 +153,9 @@ namespace System.Xml.Schema
 			return (XmlSchema) schemas [GetSafeNs (ns)];
 		}
 
-		internal IEnumerator GetEnumerator()
+		internal IEnumerator GetEnumerator ()
 		{
-			return schemas.GetEnumerator();
+			return schemas.GetEnumerator ();
 		}
 
 		string GetSafeNs (string ns)
@@ -179,9 +180,21 @@ namespace System.Xml.Schema
 			return schema;
 		}
 
+		[MonoTODO]
+		public bool RemoveRecursive (XmlSchema schema)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public XmlSchema Reprocess (XmlSchema schema)
+		{
+			throw new NotImplementedException ();
+		}
+
 		public ArrayList Schemas ()
 		{
-			return new ArrayList (schemas);
+			return new ArrayList (schemas.Values);
 		}
 
 		[MonoTODO]

+ 16 - 0
mcs/class/System.XML/System.Xml.Schema/XmlSchemaValidity.cs

@@ -0,0 +1,16 @@
+//
+// System.Xml.Schema.XmlSchemaValidity.cs
+//
+// Author:
+//	Atsushi Enomoto <[email protected]>
+//
+
+namespace System.Xml.Schema
+{
+	public enum XmlSchemaValidity
+	{
+		Invalid,
+		NotKnown,
+		Valid
+	}
+}

+ 78 - 0
mcs/class/System.XML/System.Xml.Schema/XmlTypeCode.cs

@@ -0,0 +1,78 @@
+//
+// XmlTypeCode.cs
+//
+// Author:
+//	Atsushi Enomoto <[email protected]>
+//
+// Note:
+// Precisely to say, these types are based XPath Data Model, but Microsoft
+// guys don't know how to make precise name.
+//
+#if NET_2_0
+
+namespace System.Xml.Schema
+{
+	public enum XmlTypeCode
+	{
+		AnyAtomicType, // xdt
+		AnyItem, // xpath misc
+		AnyNode, // node
+		AnySimpleType,
+		AnyType,
+		AnyUri,
+		Attribute, // node
+		Base64Binary,
+		Boolean,
+		Byte,
+		Comment, // node
+		Date,
+		DateTime,
+		DayTimeDuration, // xdt
+		Decimal,
+		Document, // node
+		Double,
+		Duration,
+		Element, // node
+		// Entities is not primitive
+		Entity,
+		Float,
+		GDay,
+		GMonth,
+		GMonthDay,
+		GYear,
+		GYearMonth,
+		HexBinary,
+		Id,
+		Idref,
+		// Idrefs is not primitive
+		Int,
+		Integer,
+		Language,
+		Long,
+		Name,
+		NCName,
+		NegativeInteger,
+		NmToken,
+		// NmTokens is not primitive
+		None,
+		NonNegativeInteger,
+		NonPositiveInteger,
+		Normalizedstring,
+		Notation,
+		// there seems "ocument" enumeration in MS.NET, but it must be a bug
+		PositiveInteger,
+		ProcessingInstruction, // node
+		QName,
+		Short,
+		String,
+		Time,
+		Token,
+		UnsignedByte,
+		UnsignedInt,
+		UnsignedLong,
+		UnsignedShort,
+		UntypedAtomic, // xdt
+		YearMonthDuration // xdt
+	}
+}
+#endif

+ 184 - 0
mcs/class/System.XML/System.Xml.Schema/XmlValueConverter.cs

@@ -0,0 +1,184 @@
+//
+// XmlValueConverter.cs
+//
+// Author:
+//	Atsushi Enomoto <[email protected]>
+//
+using System;
+
+namespace System.Xml.Schema
+{
+	public abstract class XmlValueConverter
+	{
+		[MonoTODO]
+		protected XmlValueConverter ()
+		{
+		}
+
+		public abstract object ChangeType (bool value, Type type);
+
+		public abstract object ChangeType (DateTime value, Type type);
+
+		public abstract object ChangeType (decimal value, Type type);
+
+		public abstract object ChangeType (double value, Type type);
+
+		public abstract object ChangeType (int value, Type type);
+
+		public abstract object ChangeType (long value, Type type);
+
+		public abstract object ChangeType (object value, Type type);
+
+		public abstract object ChangeType (float value, Type type);
+
+		public abstract object ChangeType (string value, Type type);
+
+		public abstract object ChangeType (object value, Type type, IXmlNamespaceResolver nsResolver);
+
+		public abstract object ChangeType (string value, Type type, IXmlNamespaceResolver nsResolver);
+
+		public abstract bool ToBoolean (bool value);
+
+		public abstract bool ToBoolean (DateTime value);
+
+		public abstract bool ToBoolean (decimal value);
+
+		public abstract bool ToBoolean (double value);
+
+		public abstract bool ToBoolean (int value);
+
+		public abstract bool ToBoolean (long value);
+
+		public abstract bool ToBoolean (object value);
+
+		public abstract bool ToBoolean (float value);
+
+		public abstract bool ToBoolean (string value);
+
+		public abstract bool ToDateTime (bool value);
+
+		public abstract bool ToDateTime (DateTime value);
+
+		public abstract bool ToDateTime (decimal value);
+
+		public abstract bool ToDateTime (double value);
+
+		public abstract bool ToDateTime (int value);
+
+		public abstract bool ToDateTime (long value);
+
+		public abstract bool ToDateTime (object value);
+
+		public abstract bool ToDateTime (float value);
+
+		public abstract bool ToDateTime (string value);
+
+		public abstract bool ToDecimal (bool value);
+
+		public abstract bool ToDecimal (DateTime value);
+
+		public abstract bool ToDecimal (decimal value);
+
+		public abstract bool ToDecimal (double value);
+
+		public abstract bool ToDecimal (int value);
+
+		public abstract bool ToDecimal (long value);
+
+		public abstract bool ToDecimal (object value);
+
+		public abstract bool ToDecimal (float value);
+
+		public abstract bool ToDecimal (string value);
+
+		public abstract bool ToDouble (bool value);
+
+		public abstract bool ToDouble (DateTime value);
+
+		public abstract bool ToDouble (decimal value);
+
+		public abstract bool ToDouble (double value);
+
+		public abstract bool ToDouble (int value);
+
+		public abstract bool ToDouble (long value);
+
+		public abstract bool ToDouble (object value);
+
+		public abstract bool ToDouble (float value);
+
+		public abstract bool ToDouble (string value);
+
+		public abstract bool ToInt32 (bool value);
+
+		public abstract bool ToInt32 (DateTime value);
+
+		public abstract bool ToInt32 (decimal value);
+
+		public abstract bool ToInt32 (double value);
+
+		public abstract bool ToInt32 (int value);
+
+		public abstract bool ToInt32 (long value);
+
+		public abstract bool ToInt32 (object value);
+
+		public abstract bool ToInt32 (float value);
+
+		public abstract bool ToInt32 (string value);
+
+		public abstract bool ToInt64 (bool value);
+
+		public abstract bool ToInt64 (DateTime value);
+
+		public abstract bool ToInt64 (decimal value);
+
+		public abstract bool ToInt64 (double value);
+
+		public abstract bool ToInt64 (int value);
+
+		public abstract bool ToInt64 (long value);
+
+		public abstract bool ToInt64 (object value);
+
+		public abstract bool ToInt64 (float value);
+
+		public abstract bool ToInt64 (string value);
+
+		public abstract bool ToSingle (bool value);
+
+		public abstract bool ToSingle (DateTime value);
+
+		public abstract bool ToSingle (decimal value);
+
+		public abstract bool ToSingle (double value);
+
+		public abstract bool ToSingle (int value);
+
+		public abstract bool ToSingle (long value);
+
+		public abstract bool ToSingle (object value);
+
+		public abstract bool ToSingle (float value);
+
+		public abstract bool ToSingle (string value);
+
+		public abstract bool ToString (bool value);
+
+		public abstract bool ToString (DateTime value);
+
+		public abstract bool ToString (decimal value);
+
+		public abstract bool ToString (double value);
+
+		public abstract bool ToString (int value);
+
+		public abstract bool ToString (long value);
+
+		public abstract bool ToString (object value);
+
+		public abstract bool ToString (float value);
+
+		public abstract bool ToString (string value);
+	}
+}