1/**************************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements.  See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership.  The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance
9 * with the License.  You may obtain a copy of the License at
10 *
11 *   http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing,
14 * software distributed under the License is distributed on an
15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 * KIND, either express or implied.  See the License for the
17 * specific language governing permissions and limitations
18 * under the License.
19 *
20 *************************************************************/
21
22
23#if ! defined INCLUDED__com_sun_star_xml_input_XElement_idl__
24#define INCLUDED__com_sun_star_xml_input_XElement_idl__
25
26#include <com/sun/star/xml/input/XAttributes.idl>
27#include <com/sun/star/xml/sax/SAXException.idl>
28
29
30module com { module sun { module star { module xml { module input {
31
32/** Capsule around an XML element.
33
34    @internal
35*/
36interface XElement : com::sun::star::uno::XInterface
37{
38    /** Gets the parent context.
39
40        @return
41                parent context
42    */
43    XElement getParent();
44
45    /** Gets the localname of this element.
46
47        @return
48                localname of this element
49    */
50    string getLocalName();
51
52    /** Gets the namespace uid of this element.
53
54        @return
55                namespace uid of this element
56    */
57    long getUid();
58
59    /** Gets the attributes of this element.
60
61        @return
62                attributes of this element
63    */
64    XAttributes getAttributes();
65
66    /** Called upon each occuring child element.
67
68        @param uid
69               namespace uid of element
70        @param localName
71               localname of element
72        @param xAttributes
73               attributes of element
74        @return
75                child import context
76    */
77    XElement startChildElement(
78        [in] long uid, [in] string localName, [in] XAttributes xAttributes )
79        raises (com::sun::star::xml::sax::SAXException);
80
81    /** Called upon retrieval of characters.
82
83        @param chars
84               characters
85    */
86    void characters( [in] string chars )
87        raises (com::sun::star::xml::sax::SAXException);
88
89    /** Receives notification of white space that can be ignored.
90
91        @param whitespace
92               white space characters
93    */
94    void ignorableWhitespace( [in] string whitespace )
95        raises (com::sun::star::xml::sax::SAXException);
96
97    /** Receives notification of a processing instruction.
98
99        @param target
100               target
101        @param data
102               data
103    */
104    void processingInstruction(
105        [in] string target, [in] string data )
106        raises (com::sun::star::xml::sax::SAXException);
107
108    /** Receives notification of element closing.
109     */
110    void endElement()
111        raises (com::sun::star::xml::sax::SAXException);
112};
113
114}; }; }; }; };
115
116#endif
117