-//\r
-// System.Xml.Schema.XmlSchemaObject.cs\r
-//\r
-// Authors:\r
-// Dwivedi, Ajay kumar Adwiv@Yahoo.com\r
-// Enomoto, Atsushi ginga@kit.hi-ho.ne.jp\r
-//\r
+//
+// System.Xml.Schema.XmlSchemaObject.cs
+//
+// Authors:
+// Dwivedi, Ajay kumar Adwiv@Yahoo.com
+// Enomoto, Atsushi ginga@kit.hi-ho.ne.jp
+//
//
// 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.
//
-using System;\r
-using System.Collections;\r
-using System.Xml.Serialization;\r
-using System.Xml;\r
-\r
-namespace System.Xml.Schema\r
-{\r
- /// <summary>\r
- /// Summary description for XmlSchemaObject.\r
- /// </summary>\r
- public abstract class XmlSchemaObject\r
- {\r
- private int lineNumber;\r
- private int linePosition;\r
- private string sourceUri;\r
- private XmlSerializerNamespaces namespaces;\r
- internal ArrayList unhandledAttributeList ;\r
- internal bool isCompiled = false;\r
- internal int errorCount = 0;\r
- internal Guid CompilationId;\r
- internal Guid ValidationId;\r
- internal bool isRedefineChild;\r
- internal bool isRedefinedComponent;\r
- internal XmlSchemaObject redefinedObject;\r
-\r
-#if NET_2_0\r
- private XmlSchemaObject parent;\r
-#endif\r
-\r
-\r
- protected XmlSchemaObject()\r
- {\r
- namespaces = new XmlSerializerNamespaces();\r
- unhandledAttributeList = null;\r
- CompilationId = Guid.Empty;\r
- }\r
-\r
- [XmlIgnore]\r
- public int LineNumber \r
- { \r
- get{ return lineNumber; } \r
- set{ lineNumber = value; } \r
- }\r
- [XmlIgnore]\r
- public int LinePosition \r
- { \r
- get{ return linePosition; } \r
- set{ linePosition = value; } \r
- }\r
- [XmlIgnore]\r
- public string SourceUri \r
- { \r
- get{ return sourceUri; } \r
- set{ sourceUri = value; } \r
- }\r
-\r
-#if NET_2_0\r
- [XmlIgnore]\r
- public XmlSchemaObject Parent {\r
- get { return parent; }\r
- set { parent = value; }\r
- }\r
-#endif\r
-\r
- // Undocumented Property\r
- [XmlNamespaceDeclarations]\r
- public XmlSerializerNamespaces Namespaces \r
- { \r
- get{ return namespaces; } \r
- set{ namespaces = value; } \r
- }\r
-\r
- internal void error(ValidationEventHandler handle,string message)\r
- {\r
- errorCount++;\r
- error (handle, message, null, this, null);\r
- }\r
- internal void warn(ValidationEventHandler handle,string message)\r
- {\r
- warn (handle, message, null, this, null);\r
- }\r
- internal static void error(ValidationEventHandler handle, string message, Exception innerException)\r
- {\r
- error (handle, message, innerException, null, null);\r
- }\r
- internal static void warn(ValidationEventHandler handle, string message, Exception innerException)\r
- {\r
- warn (handle, message, innerException, null, null);\r
- }\r
- internal static void error(ValidationEventHandler handle,\r
- string message,\r
- Exception innerException,\r
- XmlSchemaObject xsobj,\r
- object sender)\r
- {\r
- ValidationHandler.RaiseValidationEvent (handle,\r
- innerException,\r
- message,\r
- xsobj,\r
- sender,\r
- null,\r
- XmlSeverityType.Error);\r
- }\r
- internal static void warn(ValidationEventHandler handle,\r
- string message,\r
- Exception innerException,\r
- XmlSchemaObject xsobj,\r
- object sender)\r
- {\r
- ValidationHandler.RaiseValidationEvent (handle,\r
- innerException,\r
- message,\r
- xsobj,\r
- sender,\r
- null,\r
- XmlSeverityType.Warning);\r
- }\r
-\r
- internal virtual int Compile (ValidationEventHandler h, XmlSchema schema)\r
- {\r
- return 0;\r
- }\r
-\r
- internal virtual int Validate (ValidationEventHandler h, XmlSchema schema)\r
- {\r
- return 0;\r
- }\r
-\r
- internal bool IsValidated (Guid validationId)\r
- {\r
- return this.ValidationId == validationId;\r
- }\r
-\r
- // This method is used only by particles\r
- internal virtual void CopyInfo (XmlSchemaParticle obj)\r
- {\r
- obj.LineNumber = LineNumber;\r
- obj.LinePosition = LinePosition;\r
- obj.SourceUri = SourceUri;\r
- obj.errorCount = errorCount;\r
- // Other fields and properties may be useless for Particle.\r
- }\r
- }\r
+using System;
+using System.Collections;
+using System.Xml.Serialization;
+using System.Xml;
+
+namespace System.Xml.Schema
+{
+ /// <summary>
+ /// Summary description for XmlSchemaObject.
+ /// </summary>
+ public abstract class XmlSchemaObject
+ {
+ private int lineNumber;
+ private int linePosition;
+ private string sourceUri;
+ private XmlSerializerNamespaces namespaces;
+ internal ArrayList unhandledAttributeList ;
+ internal bool isCompiled = false;
+ internal int errorCount = 0;
+ internal Guid compilation_id;
+ internal Guid ValidationId;
+ internal bool isRedefineChild;
+ internal bool isRedefinedComponent;
+ internal XmlSchemaObject redefinedObject;
+
+ private XmlSchemaObject parent;
+
+
+ protected XmlSchemaObject()
+ {
+ namespaces = new XmlSerializerNamespaces();
+ unhandledAttributeList = null;
+ compilation_id = Guid.Empty;
+ }
+
+ internal Guid CompilationId {
+ get { return compilation_id; }
+ set {
+ if (value.Equals (Guid.Empty))
+ throw new ArgumentException ("value must not be empty");
+ compilation_id = value;
+ }
+ }
+
+ [XmlIgnore]
+ public int LineNumber
+ {
+ get{ return lineNumber; }
+ set{ lineNumber = value; }
+ }
+ [XmlIgnore]
+ public int LinePosition
+ {
+ get{ return linePosition; }
+ set{ linePosition = value; }
+ }
+ [XmlIgnore]
+ public string SourceUri
+ {
+ get{ return sourceUri; }
+ set{ sourceUri = value; }
+ }
+
+#if NET_2_0
+ [XmlIgnore]
+ public
+#else
+ internal
+#endif
+ XmlSchemaObject Parent {
+ get { return parent; }
+ set { parent = value; }
+ }
+
+ internal XmlSchema AncestorSchema {
+ get {
+
+ for (XmlSchemaObject o = Parent; o != null; o = o.Parent)
+ if (o is XmlSchema)
+ return (XmlSchema) o;
+ throw new Exception (String.Format ("INTERNAL ERROR: Parent object is not set properly : {0} ({1},{2})", SourceUri, LineNumber, LinePosition));
+ }
+ }
+
+ internal virtual void SetParent (XmlSchemaObject parent)
+ {
+ Parent = parent;
+ }
+
+ // Undocumented Property
+ [XmlNamespaceDeclarations]
+ public XmlSerializerNamespaces Namespaces
+ {
+ get{ return namespaces; }
+ set{ namespaces = value; }
+ }
+
+ internal void error(ValidationEventHandler handle,string message)
+ {
+ errorCount++;
+ error (handle, message, null, this, null);
+ }
+ internal void warn(ValidationEventHandler handle,string message)
+ {
+ warn (handle, message, null, this, null);
+ }
+ internal static void error(ValidationEventHandler handle, string message, Exception innerException)
+ {
+ error (handle, message, innerException, null, null);
+ }
+ internal static void warn(ValidationEventHandler handle, string message, Exception innerException)
+ {
+ warn (handle, message, innerException, null, null);
+ }
+ internal static void error(ValidationEventHandler handle,
+ string message,
+ Exception innerException,
+ XmlSchemaObject xsobj,
+ object sender)
+ {
+ ValidationHandler.RaiseValidationEvent (handle,
+ innerException,
+ message,
+ xsobj,
+ sender,
+ null,
+ XmlSeverityType.Error);
+ }
+ internal static void warn(ValidationEventHandler handle,
+ string message,
+ Exception innerException,
+ XmlSchemaObject xsobj,
+ object sender)
+ {
+ ValidationHandler.RaiseValidationEvent (handle,
+ innerException,
+ message,
+ xsobj,
+ sender,
+ null,
+ XmlSeverityType.Warning);
+ }
+
+ internal virtual int Compile (ValidationEventHandler h, XmlSchema schema)
+ {
+ return 0;
+ }
+
+ internal virtual int Validate (ValidationEventHandler h, XmlSchema schema)
+ {
+ return 0;
+ }
+
+ internal bool IsValidated (Guid validationId)
+ {
+ return this.ValidationId == validationId;
+ }
+
+ // This method is used only by particles
+ internal virtual void CopyInfo (XmlSchemaParticle obj)
+ {
+ obj.LineNumber = LineNumber;
+ obj.LinePosition = LinePosition;
+ obj.SourceUri = SourceUri;
+ obj.errorCount = errorCount;
+ // Other fields and properties may be useless for Particle.
+ }
+ }
}