xref: /trunk/main/offapi/com/sun/star/xml/sax/XFastSerializer.idl (revision 1ecadb572e7010ff3b3382ad9bf179dbc6efadbb)
1/*************************************************************************
2 *
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
6 *
7 * OpenOffice.org - a multi-platform office productivity suite
8 *
9 * This file is part of OpenOffice.org.
10 *
11 * OpenOffice.org is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
14 *
15 * OpenOffice.org is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 * GNU Lesser General Public License version 3 for more details
19 * (a copy is included in the LICENSE file that accompanied this code).
20 *
21 * You should have received a copy of the GNU Lesser General Public License
22 * version 3 along with OpenOffice.org.  If not, see
23 * <http://www.openoffice.org/license.html>
24 * for a copy of the LGPLv3 License.
25 *
26 ************************************************************************/
27#ifndef __com_sun_star_xml_sax_XFastSerializer_idl__
28#define __com_sun_star_xml_sax_XFastSerializer_idl__
29
30#ifndef __com_sun_star_uno_XInterface_idl__
31#include <com/sun/star/uno/XInterface.idl>
32#endif
33
34#ifndef __com_sun_star_xml_sax_SAXException_idl__
35#include <com/sun/star/xml/sax/SAXException.idl>
36#endif
37
38#ifndef __com_sun_star_xml_sax_XFastDocumentHanlder_idl__
39#include <com/sun/star/xml/sax/XFastDocumentHandler.idl>
40#endif
41
42#ifndef __com_sun_star_io_XOutputStream_idl__
43#include <com/sun/star/io/XOutputStream.idl>
44#endif
45
46#ifndef __com_sun_star_xml_sax_XFastTokenHandler_idl__
47#include <com/sun/star/xml/sax/XFastTokenHandler.idl>
48#endif
49
50
51//=============================================================================
52
53module com {  module sun {  module star {  module xml {  module sax {
54
55//=============================================================================
56
57/** receives notification of sax document events to write into an XOutputStream.
58 */
59interface XFastSerializer: com::sun::star::uno::XInterface
60{
61    //-------------------------------------------------------------------------
62
63    /** called by the parser when parsing of an xml stream is started.
64     */
65    void startDocument()
66            raises( com::sun::star::xml::sax::SAXException );
67
68    //-------------------------------------------------------------------------
69
70    /** called by the parser after the last xml element of a stream is processed.
71     */
72    void endDocument()
73            raises( com::sun::star::xml::sax::SAXException );
74
75    //-------------------------------------------------------------------------
76
77    /** receives notification of the beginning of an element .
78
79        @param Element
80            contains the integer token from the <type>XFastTokenHandler</type>
81            registered at the <type>XFastParser</type>.<br>
82
83            If the element has a namespace that was registered with the
84            <type>XFastParser</type>, <param>Element</param> contains the integer
85            token of the elements local name from the <type>XFastTokenHandler</type>
86            and the integer token of the namespace combined with an arithmetic
87            <b>or</b> operation.
88
89        @param Attribs
90            Contains a <type>XFastAttrbitueList</type> to access the attributes
91            from the element.
92
93    */
94    void startFastElement( [in] long Element, [in] XFastAttributeList Attribs )
95            raises( com::sun::star::xml::sax::SAXException );
96
97    //-------------------------------------------------------------------------
98
99    /** receives notification of the beginning of an unknown element .
100
101        @param Namespace
102            contains the namespace url (not the prefix!) of this element.
103        @param Name
104            contains the elements local name.
105        @param Attribs
106            Contains a <type>XFastAttrbitueList</type> to access the attributes
107            from the element.
108     */
109    void startUnknownElement( [in] string Namespace, [in] string Name, [in] XFastAttributeList Attribs )
110            raises( com::sun::star::xml::sax::SAXException );
111
112    //-------------------------------------------------------------------------
113
114    /** receives notification of the end of an known element.
115        @see startFastElement
116     */
117    void endFastElement( [in] long Element )
118            raises( com::sun::star::xml::sax::SAXException );
119
120    //-------------------------------------------------------------------------
121
122    /** receives notification of the end of an known element.
123        @see startUnknownElement
124     */
125    void endUnknownElement( [in] string Namespace, [in] string Name )
126            raises( com::sun::star::xml::sax::SAXException );
127
128    //-------------------------------------------------------------------------
129
130    /** receives notification of the beginning of a single element .
131
132        @param Element
133            contains the integer token from the <type>XFastTokenHandler</type>
134            registered at the <type>XFastParser</type>.<br>
135
136            If the element has a namespace that was registered with the
137            <type>XFastParser</type>, <param>Element</param> contains the integer
138            token of the elements local name from the <type>XFastTokenHandler</type>
139            and the integer token of the namespace combined with an arithmetic
140            <b>or</b> operation.
141
142        @param Attribs
143            Contains a <type>XFastAttrbitueList</type> to access the attributes
144            from the element.
145
146    */
147    void singleFastElement( [in] long Element, [in] XFastAttributeList Attribs )
148            raises( com::sun::star::xml::sax::SAXException );
149
150    //-------------------------------------------------------------------------
151
152    /** receives notification of the beginning of a single unknown element .
153
154        @param Namespace
155            contains the namespace url (not the prefix!) of this element.
156        @param Name
157            contains the elements local name.
158        @param Attribs
159            Contains a <type>XFastAttrbitueList</type> to access the attributes
160            from the element.
161     */
162    void singleUnknownElement( [in] string Namespace, [in] string Name, [in] XFastAttributeList Attribs )
163            raises( com::sun::star::xml::sax::SAXException );
164
165    //-------------------------------------------------------------------------
166
167    /** receives notification of character data.
168     */
169    void characters( [in] string aChars )
170            raises( com::sun::star::xml::sax::SAXException );
171
172    //-------------------------------------------------------------------------
173
174    /**
175     */
176    void setOutputStream ( [in] com::sun::star::io::XOutputStream xOutputStream )
177            /* raises( com::sun::star::xml::sax::SAXException ) */;
178
179    //-------------------------------------------------------------------------
180
181    /**
182     */
183    void setFastTokenHandler ( [in] com::sun::star::xml::sax::XFastTokenHandler xFastTokenHandler )
184            /* raises( com::sun::star::xml::sax::SAXException ) */;
185  };
186
187//=============================================================================
188
189}; }; }; }; };
190
191#endif
192