1 /* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5 #ifndef nsIDocumentTransformer_h__
6 #define nsIDocumentTransformer_h__
8 #include "nsISupports.h"
16 #define NS_ITRANSFORMOBSERVER_IID \
17 { 0x04b2d17c, 0xe98d, 0x45f5, \
18 { 0x9a, 0x67, 0xb7, 0x01, 0x19, 0x59, 0x7d, 0xe7 } }
20 class nsITransformObserver
: public nsISupports
24 NS_DECLARE_STATIC_IID_ACCESSOR(NS_ITRANSFORMOBSERVER_IID
)
26 NS_IMETHOD
OnDocumentCreated(nsIDocument
*aResultDocument
) = 0;
28 NS_IMETHOD
OnTransformDone(nsresult aResult
,
29 nsIDocument
*aResultDocument
) = 0;
33 NS_DEFINE_STATIC_IID_ACCESSOR(nsITransformObserver
, NS_ITRANSFORMOBSERVER_IID
)
35 #define NS_IDOCUMENTTRANSFORMER_IID \
36 {0x17c83d91, 0xac2f, 0x4658, \
37 { 0x91, 0x6c, 0xcb, 0xc4, 0xd2, 0xb5, 0x2c, 0xe }}
39 class nsIDocumentTransformer
: public nsISupports
43 NS_DECLARE_STATIC_IID_ACCESSOR(NS_IDOCUMENTTRANSFORMER_IID
)
45 NS_IMETHOD
Init(nsIPrincipal
* aPrincipal
) = 0;
46 NS_IMETHOD
SetTransformObserver(nsITransformObserver
* aObserver
) = 0;
47 NS_IMETHOD
LoadStyleSheet(nsIURI
* aUri
, nsILoadGroup
* aLoadGroup
) = 0;
48 NS_IMETHOD
SetSourceContentModel(nsIDOMNode
* aSource
) = 0;
49 NS_IMETHOD
CancelLoads() = 0;
51 NS_IMETHOD
AddXSLTParamNamespace(const nsString
& aPrefix
,
52 const nsString
& aNamespace
) = 0;
53 NS_IMETHOD
AddXSLTParam(const nsString
& aName
,
54 const nsString
& aNamespace
,
55 const nsString
& aValue
,
56 const nsString
& aSelect
,
57 nsIDOMNode
* aContextNode
) = 0;
60 NS_DEFINE_STATIC_IID_ACCESSOR(nsIDocumentTransformer
,
61 NS_IDOCUMENTTRANSFORMER_IID
)
63 #endif //nsIDocumentTransformer_h__