|
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 "nsIExpatSink.idl" |
|
7 |
|
8 /** |
|
9 * This interface provides notification of syntax-level events. |
|
10 */ |
|
11 [scriptable, uuid(146E194B-333D-4283-8CF6-4BC3EE9B5DFF)] |
|
12 interface nsIExtendedExpatSink : nsIExpatSink |
|
13 { |
|
14 /** |
|
15 * Called at the beginning of the DTD, before any entity or notation |
|
16 * events. |
|
17 * @param aDoctypeName The document type name. |
|
18 * @param aSysid The declared system identifier for the external DTD subset, |
|
19 * or null if none was declared. |
|
20 * @param aPubid The declared public identifier for the external DTD subset, |
|
21 * or null if none was declared. |
|
22 */ |
|
23 void handleStartDTD(in wstring aDoctypeName, |
|
24 in wstring aSysid, |
|
25 in wstring aPubid); |
|
26 |
|
27 /** |
|
28 * Called when a prefix mapping starts to be in-scope, before any |
|
29 * startElement events. |
|
30 * @param aPrefix The Namespace prefix being declared. An empty string |
|
31 * is used for the default element namespace, which has |
|
32 * no prefix. |
|
33 * @param aUri The Namespace URI the prefix is mapped to. |
|
34 */ |
|
35 void handleStartNamespaceDecl(in wstring aPrefix, |
|
36 in wstring aUri); |
|
37 |
|
38 /** |
|
39 * Called when a prefix mapping is no longer in-scope, after any |
|
40 * endElement events. |
|
41 * @param aPrefix The prefix that was being mapped. This is the empty string |
|
42 * when a default mapping scope ends. |
|
43 */ |
|
44 void handleEndNamespaceDecl(in wstring aPrefix); |
|
45 |
|
46 /** |
|
47 * This is called for a declaration of notation. The base argument is |
|
48 * whatever was set by XML_SetBase. aNotationName will never be |
|
49 * null. The other arguments can be. |
|
50 * @param aNotationName The notation name. |
|
51 * @param aSysId The notation's system identifier, or null if none was given. |
|
52 * @param aPubId The notation's pubilc identifier, or null if none was given. |
|
53 */ |
|
54 void handleNotationDecl(in wstring aNotationName, |
|
55 in wstring aSysid, |
|
56 in wstring aPubid); |
|
57 |
|
58 /** |
|
59 * This is called for a declaration of an unparsed (NDATA) entity. |
|
60 * aName, aSysid and aNotationName arguments will never be |
|
61 * null. The other arguments may be. |
|
62 * @param aName The unparsed entity's name. |
|
63 * @param aSysId The notation's system identifier. |
|
64 * @param aPubId The notation's pubilc identifier, or null if none was given. |
|
65 * @param aNotationName The name of the associated notation. |
|
66 */ |
|
67 void handleUnparsedEntityDecl(in wstring aName, |
|
68 in wstring aSysid, |
|
69 in wstring aPubid, |
|
70 in wstring aNotationName); |
|
71 |
|
72 }; |