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
30 #region Constructors
\r
32 public XsltException (string message, Exception innerException)
\r
33 : base (message, innerException)
\r
35 this.message = message;
\r
38 protected XsltException (SerializationInfo info, StreamingContext context)
\r
40 lineNumber = info.GetInt32 ("lineNumber");
\r
41 linePosition = info.GetInt32 ("linePosition");
\r
42 sourceUri = info.GetString ("sourceUri");
\r
45 internal XsltException (string message, Exception innerException, int lineNumber, int linePosition, string sourceUri)
46 : base (message, innerException)
\r
48 this.lineNumber = lineNumber;
\r
49 this.linePosition = linePosition;
\r
50 this.sourceUri = sourceUri;
\r
53 internal XsltException (string message, Exception innerException, XPathNavigator nav)
54 : base (message, innerException)
\r
56 IXmlLineInfo li = nav as IXmlLineInfo;
\r
57 this.lineNumber = li != null ? li.LineNumber : 0;
\r
58 this.linePosition = li != null ? li.LinePosition : 0;
\r
59 this.sourceUri = nav != null ? nav.BaseURI : String.Empty;
\r
66 public int LineNumber {
\r
67 get { return lineNumber; }
\r
70 public int LinePosition {
\r
71 get { return linePosition; }
\r
74 public override string Message {
\r
75 get { return message; }
\r
78 public string SourceUri {
\r
79 get { return sourceUri; }
\r
86 public override void GetObjectData (SerializationInfo info, StreamingContext context)
\r
88 base.GetObjectData (info, context);
\r
89 info.AddValue ("lineNumber", lineNumber);
\r
90 info.AddValue ("linePosition", linePosition);
\r
91 info.AddValue ("sourceUri", sourceUri);
\r