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#if ! defined INCLUDED__com_sun_star_xml_input_XElement_idl__
28#define INCLUDED__com_sun_star_xml_input_XElement_idl__
29
30#include <com/sun/star/xml/input/XAttributes.idl>
31#include <com/sun/star/xml/sax/SAXException.idl>
32
33
34module com { module sun { module star { module xml { module input {
35
36/** Capsule around an XML element.
37
38    @internal
39*/
40interface XElement : com::sun::star::uno::XInterface
41{
42    /** Gets the parent context.
43
44        @return
45                parent context
46    */
47    XElement getParent();
48
49    /** Gets the localname of this element.
50
51        @return
52                localname of this element
53    */
54    string getLocalName();
55
56    /** Gets the namespace uid of this element.
57
58        @return
59                namespace uid of this element
60    */
61    long getUid();
62
63    /** Gets the attributes of this element.
64
65        @return
66                attributes of this element
67    */
68    XAttributes getAttributes();
69
70    /** Called upon each occuring child element.
71
72        @param uid
73               namespace uid of element
74        @param localName
75               localname of element
76        @param xAttributes
77               attributes of element
78        @return
79                child import context
80    */
81    XElement startChildElement(
82        [in] long uid, [in] string localName, [in] XAttributes xAttributes )
83        raises (com::sun::star::xml::sax::SAXException);
84
85    /** Called upon retrieval of characters.
86
87        @param chars
88               characters
89    */
90    void characters( [in] string chars )
91        raises (com::sun::star::xml::sax::SAXException);
92
93    /** Receives notification of white space that can be ignored.
94
95        @param whitespace
96               white space characters
97    */
98    void ignorableWhitespace( [in] string whitespace )
99        raises (com::sun::star::xml::sax::SAXException);
100
101    /** Receives notification of a processing instruction.
102
103        @param target
104               target
105        @param data
106               data
107    */
108    void processingInstruction(
109        [in] string target, [in] string data )
110        raises (com::sun::star::xml::sax::SAXException);
111
112    /** Receives notification of element closing.
113     */
114    void endElement()
115        raises (com::sun::star::xml::sax::SAXException);
116};
117
118}; }; }; }; };
119
120#endif
121