|
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ |
|
2 /* This Source Code Form is subject to the terms of the Mozilla Public |
|
3 * License, v. 2.0. If a copy of the MPL was not distributed with this |
|
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
|
5 |
|
6 #include "nsISupports.idl" |
|
7 |
|
8 /** |
|
9 * Interface for associating a SAX event with a document location. |
|
10 * |
|
11 * Note that the results returned by the object will be valid only |
|
12 * during the scope of each callback method: the application will |
|
13 * receive unpredictable results if it attempts to use the locator at |
|
14 * any other time, or after parsing completes. |
|
15 */ |
|
16 [scriptable, uuid(7a307c6c-6cc9-11da-be43-001422106990)] |
|
17 interface nsISAXLocator: nsISupports { |
|
18 |
|
19 /** |
|
20 * Return the column number where the current document event ends. |
|
21 * |
|
22 * Warning: The return value from the method is intended only as an |
|
23 * approximation for the sake of diagnostics; it is not intended to |
|
24 * provide sufficient information to edit the character content of |
|
25 * the original XML document. For example, when lines contain |
|
26 * combining character sequences, wide characters, surrogate pairs, |
|
27 * or bi-directional text, the value may not correspond to the |
|
28 * column in a text editor's display. |
|
29 * |
|
30 * The return value is an approximation of the column number in the |
|
31 * document entity or external parsed entity where the markup |
|
32 * triggering the event appears. |
|
33 * |
|
34 * If possible, the SAX driver should provide the line position of |
|
35 * the first character after the text associated with the document |
|
36 * event. The first column in each line is column 1. |
|
37 * |
|
38 * @return The column number, or -1 if none is available. |
|
39 */ |
|
40 readonly attribute long columnNumber; |
|
41 |
|
42 /** |
|
43 * Return the line number where the current document event ends. |
|
44 * Lines are delimited by line ends, which are defined in the XML |
|
45 * specification. |
|
46 * |
|
47 * Warning: The return value from the method is intended only as an |
|
48 * approximation for the sake of diagnostics; it is not intended to |
|
49 * provide sufficient information to edit the character content of |
|
50 * the original XML document. In some cases, these "line" numbers |
|
51 * match what would be displayed as columns, and in others they may |
|
52 * not match the source text due to internal entity expansion. |
|
53 * |
|
54 * The return value is an approximation of the line number in the |
|
55 * document entity or external parsed entity where the markup |
|
56 * triggering the event appears. |
|
57 * |
|
58 * If possible, the SAX driver should provide the line position of |
|
59 * the first character after the text associated with the document |
|
60 * event. The first line is line 1. |
|
61 * |
|
62 * @return The line number, or -1 if none is available. |
|
63 */ |
|
64 readonly attribute long lineNumber; |
|
65 |
|
66 /** |
|
67 * Return the public identifier for the current document event. |
|
68 * |
|
69 * The return value is the public identifier of the document entity |
|
70 * or of the external parsed entity in which the markup triggering |
|
71 * the event appears. |
|
72 * |
|
73 * @return A string containing the public identifier, or |
|
74 * null if none is available. |
|
75 */ |
|
76 readonly attribute AString publicId; |
|
77 |
|
78 /** |
|
79 * Return the system identifier for the current document event. |
|
80 * |
|
81 * The return value is the system identifier of the document entity |
|
82 * or of the external parsed entity in which the markup triggering |
|
83 * the event appears. |
|
84 * |
|
85 * @return A string containing the system identifier, or null |
|
86 * if none is available. |
|
87 */ |
|
88 readonly attribute AString systemId; |
|
89 }; |