1 // Author: Dwivedi, Ajay kumar
\r
4 using System.Runtime.Serialization;
\r
7 namespace System.Xml.Schema
\r
10 /// Summary description for XmlSchemaException.
\r
13 public class XmlSchemaException : System.SystemException
\r
16 private int lineNumber;
\r
17 private int linePosition;
\r
18 private XmlSchemaObject sourceObj;
\r
19 private string sourceUri;
\r
21 protected XmlSchemaException(SerializationInfo info, StreamingContext context)
\r
22 : base (info, context)
\r
24 this.lineNumber = info.GetInt32 ("lineNumber");
\r
25 this.linePosition = info.GetInt32 ("linePosition");
\r
26 this.sourceUri = info.GetString ("sourceUri");
\r
27 this.sourceObj = info.GetValue ("sourceObj", typeof (XmlSchemaObject)) as XmlSchemaObject;
\r
31 internal XmlSchemaException(string message, int lineNumber, int linePosition,
\r
32 XmlSchemaObject sourceObject, string sourceUri, Exception innerException)
\r
33 : base(message, innerException)
\r
35 this.lineNumber = lineNumber;
\r
36 this.linePosition = linePosition;
\r
37 this.sourceObj = sourceObject;
\r
38 this.sourceUri = sourceUri;
\r
40 internal XmlSchemaException(string message, XmlSchemaObject sourceObject,
\r
41 Exception innerException)
\r
42 : base(message, innerException)
\r
44 this.lineNumber = sourceObject.LineNumber;
\r
45 this.linePosition = sourceObject.LinePosition;
\r
46 this.sourceObj = sourceObject;
\r
47 this.sourceUri = sourceObject.SourceUri;
\r
50 public XmlSchemaException(string message, Exception innerException)
\r
51 : base(message,innerException){}
\r
54 public int LineNumber
\r
56 get{ return this.lineNumber;}
\r
58 public int LinePosition
\r
60 get{ return this.linePosition;}
\r
62 public XmlSchemaObject SourceSchemaObject
\r
64 get{ return this.sourceObj; }
\r
66 public string SourceUri
\r
68 get{ return this.sourceUri; }
\r
71 public override string Message
\r
74 string msg = base.Message;
\r
75 if (sourceUri != null)
\r
76 msg = String.Format ("XmlSchema error: {0}\n" +
\r
77 "URI: {1}, line {2}, position {3}",
\r
78 msg, sourceUri, lineNumber, linePosition);
\r
85 public override void GetObjectData(SerializationInfo info, StreamingContext context)
\r
87 base.GetObjectData (info, context);
\r
88 info.AddValue ("lineNumber", lineNumber);
\r
89 info.AddValue ("linePosition", linePosition);
\r
90 info.AddValue ("sourceUri", sourceUri);
\r
91 info.AddValue ("sourceObj", sourceObj);
\r