[Serializable]\r
public class XsltException : SystemException\r
{\r
+ static string CreateMessage (string message, XPathNavigator nav)\r
+ {\r
+ IXmlLineInfo li = nav as IXmlLineInfo;\r
+ int lineNumber = li != null ? li.LineNumber : 0;\r
+ int linePosition = li != null ? li.LinePosition : 0;\r
+ string sourceUri = nav != null ? nav.BaseURI : String.Empty;\r
+ return CreateMessage (lineNumber, linePosition, sourceUri, message);\r
+ }\r
+\r
+ static string CreateMessage (int lineNumber, int linePosition, string sourceUri, string msg)\r
+ {\r
+ if (sourceUri != null)\r
+ msg += " " + sourceUri;\r
+ if (lineNumber != 0)\r
+ msg += " line " + lineNumber;\r
+ if (linePosition != 0)\r
+ msg += ", position " + linePosition;\r
+ return msg;\r
+ }\r
+\r
#region Fields\r
\r
int lineNumber;\r
}
internal XsltException (string message, Exception innerException, int lineNumber, int linePosition, string sourceUri)
- : base (message, innerException)\r
+ : base (CreateMessage (lineNumber, linePosition, sourceUri, message), innerException)\r
{\r
this.lineNumber = lineNumber;\r
this.linePosition = linePosition;\r
}\r
\r
internal XsltException (string message, Exception innerException, XPathNavigator nav)
- : base (message, innerException)\r
+ : base (CreateMessage (message, nav), innerException)\r
{\r
IXmlLineInfo li = nav as IXmlLineInfo;\r
this.lineNumber = li != null ? li.LineNumber : 0;\r
get { return linePosition; }\r
}\r
\r
+#if NET_2_0\r
public override string Message {\r
get {\r
string msg = base.Message;\r
return msg;\r
}\r
}\r
+#endif\r
\r
public string SourceUri {\r
get { return sourceUri; }\r