2 // System.Xml.Xsl.XsltException.cs
5 // Tim Coleman (tim@timcoleman.com)
6 // Andreas Nahr (ClassDevelopment@A-SoftTech.com)
8 // (C) Copyright 2002 Tim Coleman
9 // (C) 2003 Andreas Nahr
13 using System.Runtime.Serialization;
\r
14 using System.Xml.XPath;
\r
16 namespace System.Xml.Xsl
\r
19 public class XsltException : SystemException
\r
29 #region Constructors
\r
31 public XsltException (string message, Exception innerException)
\r
32 : base (message, innerException)
\r
34 // this.message = message;
\r
37 protected XsltException (SerializationInfo info, StreamingContext context)
\r
39 lineNumber = info.GetInt32 ("lineNumber");
\r
40 linePosition = info.GetInt32 ("linePosition");
\r
41 sourceUri = info.GetString ("sourceUri");
\r
44 internal XsltException (string message, Exception innerException, int lineNumber, int linePosition, string sourceUri)
45 : base (message, innerException)
\r
47 this.lineNumber = lineNumber;
\r
48 this.linePosition = linePosition;
\r
49 this.sourceUri = sourceUri;
\r
52 internal XsltException (string message, Exception innerException, XPathNavigator nav)
53 : base (message, innerException)
\r
55 IXmlLineInfo li = nav as IXmlLineInfo;
\r
56 this.lineNumber = li != null ? li.LineNumber : 0;
\r
57 this.linePosition = li != null ? li.LinePosition : 0;
\r
58 this.sourceUri = nav != null ? nav.BaseURI : String.Empty;
\r
65 public int LineNumber {
\r
66 get { return lineNumber; }
\r
69 public int LinePosition {
\r
70 get { return linePosition; }
\r
73 public override string Message {
\r
75 string msg = base.Message;
\r
76 if (sourceUri != null)
\r
77 msg += " " + sourceUri;
\r
78 if (lineNumber != 0)
\r
79 msg += " line " + lineNumber;
\r
80 if (linePosition != 0)
\r
81 msg += ", position " + linePosition;
\r
86 public string SourceUri {
\r
87 get { return sourceUri; }
\r
94 public override void GetObjectData (SerializationInfo info, StreamingContext context)
\r
96 base.GetObjectData (info, context);
\r
97 info.AddValue ("lineNumber", lineNumber);
\r
98 info.AddValue ("linePosition", linePosition);
\r
99 info.AddValue ("sourceUri", sourceUri);
\r