summaryrefslogtreecommitdiffstats
path: root/offapi/com/sun/star/xml/dom/XElement.idl
blob: ed5da5a36980bd4cd4ea70432053cb613e5a6a1a (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
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
 * This file is part of the LibreOffice project.
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 *
 * This file incorporates work covered by the following license notice:
 *
 *   Licensed to the Apache Software Foundation (ASF) under one or more
 *   contributor license agreements. See the NOTICE file distributed
 *   with this work for additional information regarding copyright
 *   ownership. The ASF licenses this file to you under the Apache
 *   License, Version 2.0 (the "License"); you may not use this file
 *   except in compliance with the License. You may obtain a copy of
 *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 */

#ifndef __com_sun_star_xml_dom_XElement_idl__
#define __com_sun_star_xml_dom_XElement_idl__

#include <com/sun/star/xml/dom/XNode.idl>
#include <com/sun/star/xml/dom/XAttr.idl>

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

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */