summaryrefslogtreecommitdiff
path: root/offapi/com/sun/star/xml/dom/XElement.idl
blob: dc0373467a539b52787f59f7b2f047a96de2e2c4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
/*************************************************************************
 *
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * Copyright 2000, 2010 Oracle and/or its affiliates.
 *
 * OpenOffice.org - a multi-platform office productivity suite
 *
 * This file is part of OpenOffice.org.
 *
 * OpenOffice.org is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License version 3
 * only, as published by the Free Software Foundation.
 *
 * OpenOffice.org is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License version 3 for more details
 * (a copy is included in the LICENSE file that accompanied this code).
 *
 * You should have received a copy of the GNU Lesser General Public License
 * version 3 along with OpenOffice.org.  If not, see
 * <http://www.openoffice.org/license.html>
 * for a copy of the LGPLv3 License.
 *
 ************************************************************************/

#ifndef __com_sun_star_xml_dom_XElement_idl__
#define __com_sun_star_xml_dom_XElement_idl__

#ifndef __com_sun_star_xml_dom_XNode_idl__
#include <com/sun/star/xml/dom/XNode.idl>
#endif
#ifndef __com_sun_star_xml_dom_XAttr_idl__
#include <com/sun/star/xml/dom/XAttr.idl>
#endif

module com { module sun { module star { module xml { module dom {

interface XElement: XNode
{
    /**
    Retrieves an attribute value by name.
    */
    string getAttribute([in] string name);

    /**
    Retrieves an attribute node by name.
    */
    XAttr getAttributeNode([in] string name);

    /**
    Retrieves an Attr node by local name and namespace URI.
    */
    XAttr getAttributeNodeNS([in] string namespaceURI,[in]
    string localName);

    /**
    Retrieves an attribute value by local name and namespace URI.
    */
    string getAttributeNS([in] string namespaceURI, [in] string localName);

    /**
    Returns a NodeList of all descendant Elements with a given tag name,
    in the order in which they are
    encountered in a preorder traversal of this Element tree.
    */
    XNodeList getElementsByTagName([in] string name);

    /**
    Returns a NodeList of all the descendant Elements with a given local
    name and namespace URI in the order in which they are encountered in
    a preorder traversal of this Element tree.
    */
    XNodeList getElementsByTagNameNS([in] string namespaceURI,[in]  string localName);

    /**
    The name of the element.
    */
    string getTagName();

    /**
    Returns true when an attribute with a given name is specified on this
    element or has a default value, false otherwise.
    */
    boolean hasAttribute([in] string name);

    /**
    Returns true when an attribute with a given local name and namespace
    URI is specified on this element or has a default value, false otherwise.
    */
    boolean hasAttributeNS([in] string namespaceURI,[in]  string localName);

    /**
    Removes an attribute by name.
    Throws:
    DOMException - NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
    */
    void removeAttribute([in] string name) raises (DOMException);

    /**
    Removes the specified attribute node.
    Throws:
    DOMException - NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
    NOT_FOUND_ERR: Raised if oldAttr is not an attribute of the element.
    */
    XAttr removeAttributeNode([in] XAttr oldAttr) raises (DOMException);

    /**
    Removes an attribute by local name and namespace URI.
    Throws:
    DOMException - NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
    */
    void removeAttributeNS([in] string namespaceURI,[in]  string localName) raises (DOMException);

    /**
    Adds a new attribute.
    Throws:
    DOMException - INVALID_CHARACTER_ERR: Raised if the specified name contains an illegal character.
    NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
    */
    void setAttribute([in] string name,[in]  string value) raises (DOMException);

    /**
    Adds a new attribute node.
    Throws:
    DOMException - WRONG_DOCUMENT_ERR: Raised if newAttr was created from a different document than the one that created the element.
    NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
    INUSE_ATTRIBUTE_ERR: Raised if newAttr is already an attribute of another Element object. The DOM user must explicitly clone Attr nodes to re-use them in other elements.
    */
    XAttr setAttributeNode([in] XAttr newAttr) raises (DOMException);

    /**
    Adds a new attribute.
    Throws:
    DOMException - WRONG_DOCUMENT_ERR: Raised if newAttr was created from a different document than the one that created the element.
    NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
    INUSE_ATTRIBUTE_ERR: Raised if newAttr is already an attribute of another Element object. The DOM user must explicitly clone Attr nodes to re-use them in other elements.
    NOT_SUPPORTED_ERR: Always thrown if the current document does not support the "XML" feature, since namespaces were defined by XML.
    */
    XAttr setAttributeNodeNS([in] XAttr newAttr) raises (DOMException);

    /**
    Adds a new attribute.
    Throws:
    DOMException - INVALID_CHARACTER_ERR: Raised if the specified qualified name contains an illegal character, per the XML 1.0 specification .
    NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
    NAMESPACE_ERR: Raised if the qualifiedName is malformed per the Namespaces in XML specification, if the qualifiedName has a prefix and the namespaceURI is null, if the qualifiedName has a prefix that is "xml" and the namespaceURI is different from " http://www.w3.org/XML/1998/namespace", or if the qualifiedName, or its prefix, is "xmlns" and the namespaceURI is different from " http://www.w3.org/2000/xmlns/".
    NOT_SUPPORTED_ERR: Always thrown if the current document does not support the "XML" feature, since namespaces were defined by XML.
    */
    void setAttributeNS(
    [in] string namespaceURI, [in] string qualifiedName, [in] string value) raises (DOMException);
};
}; }; }; }; };

#endif