summaryrefslogtreecommitdiffstats
path: root/offapi/com/sun/star/xml/dom
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:06:44 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:06:44 +0000
commited5640d8b587fbcfed7dd7967f3de04b37a76f26 (patch)
tree7a5f7c6c9d02226d7471cb3cc8fbbf631b415303 /offapi/com/sun/star/xml/dom
parentInitial commit. (diff)
downloadlibreoffice-upstream/4%7.4.7.tar.xz
libreoffice-upstream/4%7.4.7.zip
Adding upstream version 4:7.4.7.upstream/4%7.4.7upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'offapi/com/sun/star/xml/dom')
-rw-r--r--offapi/com/sun/star/xml/dom/DOMException.idl43
-rw-r--r--offapi/com/sun/star/xml/dom/DOMExceptionType.idl48
-rw-r--r--offapi/com/sun/star/xml/dom/DocumentBuilder.idl33
-rw-r--r--offapi/com/sun/star/xml/dom/NodeType.idl45
-rw-r--r--offapi/com/sun/star/xml/dom/SAXDocumentBuilder.idl33
-rw-r--r--offapi/com/sun/star/xml/dom/SAXDocumentBuilderState.idl38
-rw-r--r--offapi/com/sun/star/xml/dom/XAttr.idl65
-rw-r--r--offapi/com/sun/star/xml/dom/XCDATASection.idl34
-rw-r--r--offapi/com/sun/star/xml/dom/XCharacterData.idl104
-rw-r--r--offapi/com/sun/star/xml/dom/XComment.idl35
-rw-r--r--offapi/com/sun/star/xml/dom/XDOMImplementation.idl78
-rw-r--r--offapi/com/sun/star/xml/dom/XDocument.idl171
-rw-r--r--offapi/com/sun/star/xml/dom/XDocumentBuilder.idl101
-rw-r--r--offapi/com/sun/star/xml/dom/XDocumentFragment.idl34
-rw-r--r--offapi/com/sun/star/xml/dom/XDocumentType.idl68
-rw-r--r--offapi/com/sun/star/xml/dom/XElement.idl146
-rw-r--r--offapi/com/sun/star/xml/dom/XEntity.idl49
-rw-r--r--offapi/com/sun/star/xml/dom/XEntityReference.idl34
-rw-r--r--offapi/com/sun/star/xml/dom/XNamedNodeMap.idl94
-rw-r--r--offapi/com/sun/star/xml/dom/XNode.idl268
-rw-r--r--offapi/com/sun/star/xml/dom/XNodeList.idl45
-rw-r--r--offapi/com/sun/star/xml/dom/XNotation.idl44
-rw-r--r--offapi/com/sun/star/xml/dom/XProcessingInstruction.idl53
-rw-r--r--offapi/com/sun/star/xml/dom/XSAXDocumentBuilder.idl50
-rw-r--r--offapi/com/sun/star/xml/dom/XSAXDocumentBuilder2.idl43
-rw-r--r--offapi/com/sun/star/xml/dom/XText.idl41
-rw-r--r--offapi/com/sun/star/xml/dom/events/AttrChangeType.idl36
-rw-r--r--offapi/com/sun/star/xml/dom/events/EventException.idl35
-rw-r--r--offapi/com/sun/star/xml/dom/events/EventType.idl168
-rw-r--r--offapi/com/sun/star/xml/dom/events/PhaseType.idl34
-rw-r--r--offapi/com/sun/star/xml/dom/events/XDocumentEvent.idl36
-rw-r--r--offapi/com/sun/star/xml/dom/events/XEvent.idl60
-rw-r--r--offapi/com/sun/star/xml/dom/events/XEventListener.idl36
-rw-r--r--offapi/com/sun/star/xml/dom/events/XEventTarget.idl49
-rw-r--r--offapi/com/sun/star/xml/dom/events/XMouseEvent.idl63
-rw-r--r--offapi/com/sun/star/xml/dom/events/XMutationEvent.idl53
-rw-r--r--offapi/com/sun/star/xml/dom/events/XUIEvent.idl43
-rw-r--r--offapi/com/sun/star/xml/dom/views/XAbstractView.idl35
-rw-r--r--offapi/com/sun/star/xml/dom/views/XDocumentView.idl33
39 files changed, 2478 insertions, 0 deletions
diff --git a/offapi/com/sun/star/xml/dom/DOMException.idl b/offapi/com/sun/star/xml/dom/DOMException.idl
new file mode 100644
index 000000000..08799f1d7
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/DOMException.idl
@@ -0,0 +1,43 @@
+/* -*- 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_DOMException_idl__
+#define __com_sun_star_xml_dom_DOMException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+#include <com/sun/star/xml/dom/DOMExceptionType.idl>
+
+module com { module sun { module star { module xml { module dom {
+
+
+/**
+encapsulates the details of an XML parse error or warning.
+*/
+
+exception DOMException: com::sun::star::uno::Exception
+{
+ DOMExceptionType Code;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/DOMExceptionType.idl b/offapi/com/sun/star/xml/dom/DOMExceptionType.idl
new file mode 100644
index 000000000..52b372a88
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/DOMExceptionType.idl
@@ -0,0 +1,48 @@
+/* -*- 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_DOMExceptionType_idl__
+#define __com_sun_star_xml_dom_DOMExceptionType_idl__
+
+module com { module sun { module star { module xml { module dom {
+
+enum DOMExceptionType
+{
+ DOMSTRING_SIZE_ERR,
+ HIERARCHY_REQUEST_ERR,
+ INDEX_SIZE_ERR,
+ INUSE_ATTRIBUTE_ERR,
+ INVALID_ACCESS_ERR,
+ INVALID_CHARACTER_ERR,
+ INVALID_MODIFICATION_ERR,
+ INVALID_STATE_ERR,
+ NAMESPACE_ERR,
+ NO_DATA_ALLOWED_ERR,
+ NO_MODIFICATION_ALLOWED_ERR,
+ NOT_FOUND_ERR,
+ NOT_SUPPORTED_ERR,
+ SYNTAX_ERR,
+ WRONG_DOCUMENT_ERR
+};
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/DocumentBuilder.idl b/offapi/com/sun/star/xml/dom/DocumentBuilder.idl
new file mode 100644
index 000000000..439550964
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/DocumentBuilder.idl
@@ -0,0 +1,33 @@
+/* -*- 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_documentbuilder_idl
+#define __com_sun_star_xml_dom_documentbuilder_idl
+
+#include <com/sun/star/xml/dom/XDocumentBuilder.idl>
+
+module com { module sun { module star { module xml { module dom {
+
+service DocumentBuilder : XDocumentBuilder;
+
+};};};};};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/NodeType.idl b/offapi/com/sun/star/xml/dom/NodeType.idl
new file mode 100644
index 000000000..cd7a753e1
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/NodeType.idl
@@ -0,0 +1,45 @@
+/* -*- 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_NodeType_idl__
+#define __com_sun_star_xml_dom_NodeType_idl__
+
+module com { module sun { module star { module xml { module dom {
+
+enum NodeType
+{
+ ATTRIBUTE_NODE,
+ CDATA_SECTION_NODE,
+ COMMENT_NODE,
+ DOCUMENT_FRAGMENT_NODE,
+ DOCUMENT_NODE,
+ DOCUMENT_TYPE_NODE,
+ ELEMENT_NODE,
+ ENTITY_NODE,
+ ENTITY_REFERENCE_NODE,
+ NOTATION_NODE,
+ PROCESSING_INSTRUCTION_NODE,
+ TEXT_NODE
+};
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/SAXDocumentBuilder.idl b/offapi/com/sun/star/xml/dom/SAXDocumentBuilder.idl
new file mode 100644
index 000000000..0bed88a5f
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/SAXDocumentBuilder.idl
@@ -0,0 +1,33 @@
+/* -*- 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_SAXDocumentBuilder_idl
+#define __com_sun_star_xml_dom_SAXDocumentBuilder_idl
+
+#include <com/sun/star/xml/dom/XSAXDocumentBuilder2.idl>
+
+module com { module sun { module star { module xml { module dom {
+
+service SAXDocumentBuilder : XSAXDocumentBuilder2;
+
+};};};};};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/SAXDocumentBuilderState.idl b/offapi/com/sun/star/xml/dom/SAXDocumentBuilderState.idl
new file mode 100644
index 000000000..77aeb54eb
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/SAXDocumentBuilderState.idl
@@ -0,0 +1,38 @@
+/* -*- 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_SAXDocumentBuilderState_idl__
+#define __com_sun_star_xml_dom_SAXDocumentBuilderState_idl__
+
+module com { module sun { module star { module xml { module dom {
+
+enum SAXDocumentBuilderState
+{
+ READY,
+ BUILDING_DOCUMENT,
+ BUILDING_FRAGMENT,
+ DOCUMENT_FINISHED,
+ FRAGMENT_FINISHED
+};
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/XAttr.idl b/offapi/com/sun/star/xml/dom/XAttr.idl
new file mode 100644
index 000000000..0fd45807c
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XAttr.idl
@@ -0,0 +1,65 @@
+/* -*- 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_XAttr_idl__
+#define __com_sun_star_xml_dom_XAttr_idl__
+
+#include <com/sun/star/xml/dom/XNode.idl>
+
+module com { module sun { module star { module xml { module dom {
+
+interface XElement;
+
+interface XAttr: XNode
+{
+ /**
+ Returns the name of this attribute.
+ */
+ string getName();
+
+ /**
+ The Element node this attribute is attached to or null if this
+ attribute is not in use.
+ */
+ XElement getOwnerElement();
+
+ /**
+ If this attribute was explicitly given a value in the original
+ document, this is true; otherwise, it is false.
+ */
+ boolean getSpecified();
+
+ /**
+ On retrieval, the value of the attribute is returned as a string.
+ */
+ string getValue();
+
+ /**
+ Sets the value of the attribute from a string.
+ Throws:
+ DOMException - NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.
+
+ */
+ void setValue([in] string value) raises (DOMException);
+};
+};};};};};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/XCDATASection.idl b/offapi/com/sun/star/xml/dom/XCDATASection.idl
new file mode 100644
index 000000000..b5fa3b2e1
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XCDATASection.idl
@@ -0,0 +1,34 @@
+/* -*- 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_XCDATASection_idl__
+#define __com_sun_star_xml_dom_XCDATASection_idl__
+
+#include <com/sun/star/xml/dom/XText.idl>
+
+module com { module sun { module star { module xml { module dom {
+
+interface XCDATASection: XText
+{
+};
+};};};};};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/XCharacterData.idl b/offapi/com/sun/star/xml/dom/XCharacterData.idl
new file mode 100644
index 000000000..3aaadb0c0
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XCharacterData.idl
@@ -0,0 +1,104 @@
+/* -*- 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_XCharacterData_idl__
+#define __com_sun_star_xml_dom_XCharacterData_idl__
+
+#include <com/sun/star/xml/dom/XNode.idl>
+
+module com { module sun { module star { module xml { module dom {
+
+interface XCharacterData: XNode
+{
+ /**
+ Append the string to the end of the character data of the node.
+ Throws:
+ DOMException - NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
+ */
+ void appendData([in] string arg) raises (DOMException);
+
+ /**
+ Remove a range of 16-bit units from the node.
+ Throws:
+ DOMException - INDEX_SIZE_ERR: Raised if the specified offset is negative or greater
+ than the number of 16-bit units in data, or if the specified count is negative.
+ NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
+ */
+ void deleteData([in] long offset, [in] long count) raises (DOMException);
+
+ /**
+ Return the character data of the node that implements this interface.
+ Throws:
+ DOMException - NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.
+ DOMException - DOMSTRING_SIZE_ERR: Raised when it would return more characters
+ than fit in a DOMString variable on the implementation platform.
+
+
+ */
+ string getData() raises (DOMException);
+
+ /**
+ The number of 16-bit units that are available through data and the
+ substringData method below.
+ */
+ long getLength();
+
+ /**
+ Insert a string at the specified 16-bit unit offset.
+ Throws:
+ DOMException - INDEX_SIZE_ERR: Raised if the specified offset is negative or greater than
+ the number of 16-bit units in data.
+ NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
+ */
+ void insertData([in] long offset, [in] string arg) raises (DOMException);
+
+ /**
+ Replace the characters starting at the specified 16-bit unit offset
+ with the specified string.
+ Throws;
+ DOMException - INDEX_SIZE_ERR: Raised if the specified offset is negative or greater than
+ the number of 16-bit units in data, or if the specified count is negative.
+ NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
+ */
+ void replaceData([in] long offset, [in] long count, [in] string arg) raises (DOMException);
+
+ /**
+ Set the character data of the node that implements this interface.
+ Throws:
+ DOMException - NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.
+ DOMException - DOMSTRING_SIZE_ERR: Raised when it would return more characters than
+ fit in a DOMString variable on the implementation platform.
+ */
+ void setData([in] string data) raises (DOMException);
+
+ /**
+ Extracts a range of data from the node.
+ Throws:
+ DOMException - INDEX_SIZE_ERR: Raised if the specified offset is negative or greater
+ than the number of 16-bit units in data, or if the specified count is negative.
+ DOMSTRING_SIZE_ERR: Raised if the specified range of text does not fit into a DOMString.
+ */
+ string subStringData([in] long offset, [in] long count) raises (DOMException);
+
+};
+};};};};};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/XComment.idl b/offapi/com/sun/star/xml/dom/XComment.idl
new file mode 100644
index 000000000..8aa9fbe55
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XComment.idl
@@ -0,0 +1,35 @@
+/* -*- 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_XComment_idl__
+#define __com_sun_star_xml_dom_XComment_idl__
+
+#include <com/sun/star/xml/dom/XCharacterData.idl>
+
+
+module com { module sun { module star { module xml { module dom {
+
+interface XComment: XCharacterData
+{
+};
+};};};};};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/XDOMImplementation.idl b/offapi/com/sun/star/xml/dom/XDOMImplementation.idl
new file mode 100644
index 000000000..5804e897f
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XDOMImplementation.idl
@@ -0,0 +1,78 @@
+/* -*- 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_XDOMImplementation_idl__
+#define __com_sun_star_xml_dom_XDOMImplementation_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/xml/dom/DOMException.idl>
+
+
+module com { module sun { module star { module xml { module dom {
+
+interface XDocument;
+interface XDocumentType;
+
+interface XDOMImplementation : com::sun::star::uno::XInterface
+{
+ /**
+ Creates a DOM Document object of the specified type with its document element.
+ Throws:
+ DOMException - INVALID_CHARACTER_ERR: Raised if the specified qualified name contains an illegal character.
+ NAMESPACE_ERR: Raised if the qualifiedName is malformed, if the qualifiedName has a prefix
+ and the namespaceURI is null, or 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
+ DOM implementation does not support the "XML" feature but a non-null namespace URI was
+ provided, since namespaces were defined by XML.
+ WRONG_DOCUMENT_ERR: Raised if doctype has already been used with a different document or
+ was created from a different implementation.
+ NOT_SUPPORTED_ERR: May be raised by DOM implementations which do not support the
+ "XML" feature, if they choose not to support this method. Other features introduced
+ in the future, by the DOM WG or in extensions defined by other groups, may also
+ demand support for this method; please consult the definition of the feature to see
+ if it requires this method.
+ */
+ XDocument createDocument([in] string namespaceURI, [in] string qualifiedName, [in] XDocumentType doctype)
+ raises (DOMException);
+
+ /**
+ Creates an empty DocumentType node.
+ Throws:
+ DOMException - INVALID_CHARACTER_ERR: Raised if the specified qualified name contains an illegal character.
+ NAMESPACE_ERR: Raised if the qualifiedName is malformed.
+ NOT_SUPPORTED_ERR: May be raised by DOM implementations which do not support the
+ "XML" feature, if they choose not to support this method. Other features introduced
+ in the future, by the DOM WG or in extensions defined by other groups, may also demand
+ support for this method; please consult the definition of the feature to see if it
+ requires this method.
+ */
+ XDocumentType createDocumentType([in] string qualifiedName, [in] string publicId, [in] string systemId)
+ raises (DOMException);
+
+ /**
+ Test if the DOM implementation implements a specific feature.
+ */
+ boolean hasFeature([in] string feature, [in] string ver);
+};
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/XDocument.idl b/offapi/com/sun/star/xml/dom/XDocument.idl
new file mode 100644
index 000000000..9d2292ec3
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XDocument.idl
@@ -0,0 +1,171 @@
+/* -*- 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_XDocument_idl__
+#define __com_sun_star_xml_dom_XDocument_idl__
+
+#include <com/sun/star/xml/dom/XNode.idl>
+#include <com/sun/star/xml/dom/XAttr.idl>
+#include <com/sun/star/xml/dom/XCDATASection.idl>
+#include <com/sun/star/xml/dom/XComment.idl>
+#include <com/sun/star/xml/dom/XDocumentFragment.idl>
+#include <com/sun/star/xml/dom/XEntityReference.idl>
+#include <com/sun/star/xml/dom/XProcessingInstruction.idl>
+#include <com/sun/star/xml/dom/XDocumentType.idl>
+#include <com/sun/star/xml/dom/XDOMImplementation.idl>
+
+module com { module sun { module star { module xml { module dom {
+
+interface XDocument: XNode
+{
+ /**
+ Creates an Attr of the given name.
+ Throws:
+ DOMException - INVALID_CHARACTER_ERR: Raised if the specified name contains an illegal character.
+ */
+ XAttr createAttribute([in] string name) raises (DOMException);
+
+ /**
+ Creates an attribute of the given qualified name and namespace URI.
+ Throws:
+ DOMException - INVALID_CHARACTER_ERR: Raised if the specified qualified name contains an illegal
+ character, per the XML 1.0 specification .
+ 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.
+ */
+ XAttr createAttributeNS([in] string namespaceURI, [in] string qualifiedName) raises (DOMException);
+
+ /**
+ Creates a CDATASection node whose value is the specified string.
+ Throws:
+ DOMException - NOT_SUPPORTED_ERR: Raised if this document is an HTML document.
+ */
+ XCDATASection createCDATASection([in] string data) raises (DOMException);
+
+ /**
+ Creates a Comment node given the specified string.
+ */
+ XComment createComment([in] string data);
+
+ /**
+ Creates an empty DocumentFragment object.
+ */
+ XDocumentFragment createDocumentFragment();
+
+
+ /**
+ Creates an element of the type specified.
+ Throws:
+ DOMException - INVALID_CHARACTER_ERR: Raised if the specified name contains an illegal character.
+ */
+ XElement createElement([in] string tagName) raises (DOMException);
+
+
+ /**
+ Creates an element of the given qualified name and namespace URI.
+ Throws:
+ DOMException - INVALID_CHARACTER_ERR: Raised if the specified qualified name contains an
+ illegal character, per the XML 1.0 specification .
+ 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, or if the qualifiedName has a prefix that is "xml" and the namespaceURI
+ is different from " http://www.w3.org/XML/1998/namespace" .
+ NOT_SUPPORTED_ERR: Always thrown if the current document does not support the
+ "XML" feature, since namespaces were defined by XML.
+ */
+ XElement createElementNS([in] string namespaceURI, [in] string qualifiedName) raises (DOMException);
+
+ /**
+ Throws:
+ DOMException - NOT_SUPPORTED_ERR: Raised if the type of node being imported is not supported.
+ Creates an EntityReference object.
+ Throws:
+ DOMException - INVALID_CHARACTER_ERR: Raised if the specified name contains an illegal character.
+ NOT_SUPPORTED_ERR: Raised if this document is an HTML document.
+ */
+ XEntityReference createEntityReference([in] string name) raises (DOMException);
+
+ /**
+ Creates a ProcessingInstruction node given the specified name and
+ data strings.
+ Throws:
+ DOMException - INVALID_CHARACTER_ERR: Raised if the specified target contains an illegal character.
+ NOT_SUPPORTED_ERR: Raised if this document is an HTML document.
+ */
+ XProcessingInstruction createProcessingInstruction(
+ [in] string target, [in] string data) raises (DOMException);
+
+ /**
+ Creates a Text node given the specified string.
+ */
+ XText createTextNode([in] string data);
+
+ /**
+ The Document Type Declaration (see DocumentType) associated with this
+ document.
+ */
+ XDocumentType getDoctype();
+
+ /**
+ This is a convenience attribute that allows direct access to the child
+ node that is the root element of the document.
+ */
+ XElement getDocumentElement();
+
+ /**
+ Returns the Element whose ID is given by elementId.
+ */
+ XElement getElementById([in] string elementId);
+
+ /**
+ Returns a NodeList of all the Elements with a given tag name in the
+ order in which they are encountered in a preorder traversal of the
+ Document tree.
+ */
+ XNodeList getElementsByTagName([in] string tagname);
+
+ /**
+ Returns a NodeList of all the Elements with a given local name and
+ namespace URI in the order in which they are encountered in a preorder
+ traversal of the Document tree.
+ */
+ XNodeList getElementsByTagNameNS([in] string namespaceURI, [in] string localName);
+
+ /**
+ The DOMImplementation object that handles this document.
+ */
+ XDOMImplementation getImplementation();
+
+ /**
+ Imports a node from another document to this document.
+ Throws:
+ DOMException - NOT_SUPPORTED_ERR: Raised if the type of node being imported is not supported.
+ */
+ XNode importNode([in] XNode importedNode, [in] boolean deep) raises (DOMException);
+};
+};};};};};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/XDocumentBuilder.idl b/offapi/com/sun/star/xml/dom/XDocumentBuilder.idl
new file mode 100644
index 000000000..8ceb7f7d0
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XDocumentBuilder.idl
@@ -0,0 +1,101 @@
+/* -*- 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_XDocumentBuilder_idl__
+#define __com_sun_star_xml_dom_XDocumentBuilder_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/xml/dom/XDocumentType.idl>
+#include <com/sun/star/xml/dom/XDOMImplementation.idl>
+#include <com/sun/star/io/XInputStream.idl>
+#include <com/sun/star/xml/sax/SAXException.idl>
+#include <com/sun/star/xml/sax/XErrorHandler.idl>
+#include <com/sun/star/xml/sax/XEntityResolver.idl>
+
+
+#include <com/sun/star/io/IOException.idl>
+
+module com { module sun { module star { module xml { module dom {
+
+interface XInputStream;
+
+/**
+Builds a new dom tree
+*/
+interface XDocumentBuilder : com::sun::star::uno::XInterface
+{
+
+ /**
+ Obtain an instance of a DOMImplementation object.
+ */
+ XDOMImplementation getDOMImplementation();
+
+ /**
+ Indicates whether or not this parser is configured to understand
+ namespaces.
+ */
+ boolean isNamespaceAware();
+
+ /**
+ Indicates whether or not this parser is configured to validate XML
+ documents.
+ */
+ boolean isValidating();
+
+ /**
+ Obtain a new instance of a DOM Document object to build a DOM tree
+ with.
+ */
+ XDocument newDocument();
+
+ /**
+ Parse the content of the given InputStream as an XML document and
+ return a new DOM Document object.
+ */
+ XDocument parse([in] com::sun::star::io::XInputStream is)
+ raises( com::sun::star::xml::sax::SAXException,
+ com::sun::star::io::IOException );
+
+ /**
+ Parse the content of the given URI as an XML document and return
+ a new DOM Document object.
+ */
+ XDocument parseURI([in] string uri)
+ raises( com::sun::star::xml::sax::SAXException,
+ com::sun::star::io::IOException );
+
+ /**
+ Specify the EntityResolver to be used to resolve entities present
+ in the XML document to be parsed.
+ */
+ void setEntityResolver([in] com::sun::star::xml::sax::XEntityResolver er);
+
+ /**
+ Specify the ErrorHandler to be used to report errors present in
+ the XML document to be parsed.
+ */
+ void setErrorHandler([in] com::sun::star::xml::sax::XErrorHandler eh);
+
+};
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/XDocumentFragment.idl b/offapi/com/sun/star/xml/dom/XDocumentFragment.idl
new file mode 100644
index 000000000..f4fdfbed7
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XDocumentFragment.idl
@@ -0,0 +1,34 @@
+/* -*- 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_XDocumentFragment_idl__
+#define __com_sun_star_xml_dom_XDocumentFragment_idl__
+
+#include <com/sun/star/xml/dom/XNode.idl>
+
+module com { module sun { module star { module xml { module dom {
+
+interface XDocumentFragment: XNode
+{
+};
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/XDocumentType.idl b/offapi/com/sun/star/xml/dom/XDocumentType.idl
new file mode 100644
index 000000000..19cb8b408
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XDocumentType.idl
@@ -0,0 +1,68 @@
+/* -*- 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_XDocumentType_idl__
+#define __com_sun_star_xml_dom_XDocumentType_idl__
+
+#include <com/sun/star/xml/dom/XNode.idl>
+#include <com/sun/star/xml/dom/XNamedNodeMap.idl>
+
+module com { module sun { module star { module xml { module dom {
+
+interface XDocumentType: XNode
+{
+
+ /**
+ A NamedNodeMap containing the general entities, both external and
+ internal, declared in the DTD.
+ */
+ XNamedNodeMap getEntities();
+
+ /**
+ The internal subset as a string, or null if there is none.
+ */
+ string getInternalSubset();
+
+ /**
+ The name of DTD; i.e., the name immediately following the DOCTYPE
+ keyword.
+ */
+ string getName();
+
+ /**
+ A NamedNodeMap containing the notations declared in the DTD.
+ */
+ XNamedNodeMap getNotations();
+
+ /**
+ The public identifier of the external subset.
+ */
+ string getPublicId();
+
+ /**
+ The system identifier of the external subset.
+ */
+ string getSystemId();
+
+};
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/XElement.idl b/offapi/com/sun/star/xml/dom/XElement.idl
new file mode 100644
index 000000000..ed5da5a36
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XElement.idl
@@ -0,0 +1,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: */
diff --git a/offapi/com/sun/star/xml/dom/XEntity.idl b/offapi/com/sun/star/xml/dom/XEntity.idl
new file mode 100644
index 000000000..be4ed99be
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XEntity.idl
@@ -0,0 +1,49 @@
+/* -*- 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_XEntity_idl__
+#define __com_sun_star_xml_dom_XEntity_idl__
+
+#include <com/sun/star/xml/dom/XNode.idl>
+
+module com { module sun { module star { module xml { module dom {
+
+interface XEntity: XNode
+{
+ /**
+ For unparsed entities, the name of the notation for the entity.
+ */
+ string getNotationName();
+
+ /**
+ The public identifier associated with the entity, if specified.
+ */
+ string getPublicId();
+
+ /**
+ The system identifier associated with the entity, if specified.
+ */
+ string getSystemId();
+
+};
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/XEntityReference.idl b/offapi/com/sun/star/xml/dom/XEntityReference.idl
new file mode 100644
index 000000000..ca4fc2788
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XEntityReference.idl
@@ -0,0 +1,34 @@
+/* -*- 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_XEntityReference_idl__
+#define __com_sun_star_xml_dom_XEntityReference_idl__
+
+#include <com/sun/star/xml/dom/XNode.idl>
+
+module com { module sun { module star { module xml { module dom {
+
+interface XEntityReference: XNode
+{
+};
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/XNamedNodeMap.idl b/offapi/com/sun/star/xml/dom/XNamedNodeMap.idl
new file mode 100644
index 000000000..a7285c77e
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XNamedNodeMap.idl
@@ -0,0 +1,94 @@
+/* -*- 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_XNamedNodeMap_idl__
+#define __com_sun_star_xml_dom_XNamedNodeMap_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/xml/dom/DOMException.idl>
+
+module com { module sun { module star { module xml { module dom {
+
+interface XNode;
+
+interface XNamedNodeMap : com::sun::star::uno::XInterface
+{
+
+ /**
+ The number of nodes in this map.
+ */
+ long getLength();
+
+ /**
+ Retrieves a node specified by local name.
+ */
+ XNode getNamedItem([in] string name);
+
+ /**
+ Retrieves a node specified by local name and namespace URI.
+ */
+ XNode getNamedItemNS([in] string namespaceURI,[in] string localName);
+
+ /**
+ Returns a node specified by index.
+ */
+ XNode item([in] long index);
+
+ /**
+ Removes a node specified by name.
+ Throws:
+ DOMException - NOT_FOUND_ERR: Raised if there is no node named name in this map.
+ NO_MODIFICATION_ALLOWED_ERR: Raised if this map is readonly.
+ */
+ XNode removeNamedItem([in] string name) raises (DOMException);
+
+ /**
+ Removes a node specified by local name and namespace URI.
+ Throws:
+ DOMException - NOT_FOUND_ERR: Raised if there is no node with the specified namespaceURI and localName in this map.
+ NO_MODIFICATION_ALLOWED_ERR: Raised if this map is readonly.
+ */
+ XNode removeNamedItemNS([in] string namespaceURI, [in] string localName) raises (DOMException);
+
+ /**
+ Adds a node using its nodeName attribute.
+ Throws:
+ DOMException - WRONG_DOCUMENT_ERR: Raised if arg was created from a different document than the one that created this map.
+ NO_MODIFICATION_ALLOWED_ERR: Raised if this map is readonly.
+ INUSE_ATTRIBUTE_ERR: Raised if arg is an Attr that is already an attribute of another Element object. The DOM user must explicitly clone Attr nodes to re-use them in other elements.
+ HIERARCHY_REQUEST_ERR: Raised if an attempt is made to add a node doesn't belong in this NamedNodeMap. Examples would include trying to insert something other than an Attr node into an Element's map of attributes, or a non-Entity node into the DocumentType's map of Entities.
+ */
+ XNode setNamedItem([in] XNode arg) raises (DOMException);
+
+ /**
+ Adds a node using its namespaceURI and localName.
+ Throws:
+ DOMException - WRONG_DOCUMENT_ERR: Raised if arg was created from a different document than the one that created this map.
+ NO_MODIFICATION_ALLOWED_ERR: Raised if this map is readonly.
+ INUSE_ATTRIBUTE_ERR: Raised if arg is an Attr that is already an attribute of another Element object. The DOM user must explicitly clone Attr nodes to re-use them in other elements.
+ HIERARCHY_REQUEST_ERR: Raised if an attempt is made to add a node doesn't belong in this NamedNodeMap. Examples would include trying to insert something other than an Attr node into an Element's map of attributes, or a non-Entity node into the DocumentType's map of Entities.
+ NOT_SUPPORTED_ERR: Always thrown if the current document does not support the "XML" feature, since namespaces were defined by XML.
+ */
+ XNode setNamedItemNS([in] XNode arg) raises (DOMException);
+};
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/XNode.idl b/offapi/com/sun/star/xml/dom/XNode.idl
new file mode 100644
index 000000000..b5ff89627
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XNode.idl
@@ -0,0 +1,268 @@
+/* -*- 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_XNode_idl__
+#define __com_sun_star_xml_dom_XNode_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/xml/dom/NodeType.idl>
+#include <com/sun/star/xml/dom/XNodeList.idl>
+#include <com/sun/star/xml/dom/XNamedNodeMap.idl>
+
+
+module com { module sun { module star { module xml { module dom {
+
+interface XDocument;
+
+/** The primary dom datatype
+
+<p>The Node interface is the primary datatype for the entire Document Object Model.
+It represents a single node in the document tree. While all objects implementing
+the Node interface expose methods for dealing with children, not all objects
+implementing the Node interface may have children. For example, Text nodes may not
+have children, and adding children to such nodes results in a DOMException being raised.</p>
+
+<p>The attributes nodeName, nodeValue and attributes are included as a mechanism to get at
+node information without casting down to the specific derived interface. In cases where
+there is no obvious mapping of these attributes for a specific nodeType (e.g., nodeValue
+for an Element or attributes for a Comment ), this returns null. Note that the specialized
+interfaces may contain additional and more convenient mechanisms to get and set the relevant
+information.</p>
+
+<p>The values of nodeName, nodeValue, and attributes vary according to the node type as follows:
+<table align=left border=1>
+<tr><th>Interface </th><th>nodeName </th><th>nodeValue </th><th>attributes</th></tr>
+<tr><th>Attr </th><td>name of attribute </td><td>value of attribute </td><td>null</td></tr>
+<tr><th>CDATASection </th><td>"#cdata-section" </td><td>content of the CDATA Section </td><td>null</td></tr>
+<tr><th>Comment </th><td>"#comment" </td><td>content of the comment </td><td>null</td></tr>
+<tr><th>Document </th><td>"#document" </td><td>null </td><td>null</td></tr>
+<tr><th>DocumentFragment </th><td>"#document-fragment"</td><td>null </td><td>null</td></tr>
+<tr><th>DocumentType </th><td>document type name </td><td>null </td><td>null</td></tr>
+<tr><th>Element </th><td>tag name </td><td>null </td><td>NamedNodeMap</td></tr>
+<tr><th>Entity </th><td>entity name </td><td>null </td><td>null</td></tr>
+<tr><th>EntityReference </th><td>name of entity referenced </td><td>null </td><td>null</td></tr>
+<tr><th>Notation </th><td>notation name </td><td>null </td><td>null</td></tr>
+<tr><th>ProcessingInstruction </th><td>target </td><td>entire content excluding the target </td><td>null</td></tr>
+<tr><th>Text </th><td>"#text" </td><td>content of the text node </td><td>null</td></tr>
+</table></p>
+
+@see <a href="http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113">Document Object Model (DOM) Level 2 Core Specification</a> </p>
+@since OOo 2.0
+*/
+interface XNode : com::sun::star::uno::XInterface
+{
+
+ /**
+ Adds the node newChild to the end of the list of children of this node.
+ @param newChild
+ the new child node
+ @throws com::sun::star::xml::dom::DOMException
+ <p>HIERARCHY_REQUEST_ERR: Raised if this node is of a type that does
+ not allow children of the type of the newChild node, or if the
+ node to append is one of this node's ancestors or this node itself.</p>
+ <p>WRONG_DOCUMENT_ERR: Raised if newChild was created from a different
+ document than the one that created this node.</p>
+ <p>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly or if
+ the previous parent of the node being inserted is readonly.</p>
+ */
+ XNode appendChild([in] XNode newChild) raises (DOMException);
+
+ /**
+ Returns a duplicate of this node, i.e., serves as a generic copy
+ constructor for nodes.
+ <p></p>
+ @param deep
+ `TRUE`: clone node together with any children<br>
+ `FALSE`: clone without children
+ @returns
+ the cloned node
+ */
+ XNode cloneNode([in] boolean deep);
+
+ /**
+ A NamedNodeMap containing the attributes of this node (if it is an Element)
+ or null otherwise.
+ */
+ XNamedNodeMap getAttributes();
+
+ /**
+ A NodeList that contains all children of this node.
+ */
+ XNodeList getChildNodes();
+
+ /**
+ The first child of this node.
+ */
+ XNode getFirstChild();
+
+ /**
+ The last child of this node.
+ */
+ XNode getLastChild();
+
+ /**
+ Returns the local part of the qualified name of this node.
+ */
+ string getLocalName();
+
+ /**
+ The namespace URI of this node, or null if it is unspecified.
+ */
+ string getNamespaceURI();
+
+ /**
+ The node immediately following this node.
+ */
+ XNode getNextSibling();
+
+ /**
+ The name of this node, depending on its type; see the table above.
+ */
+ string getNodeName();
+
+ /**
+ A code representing the type of the underlying object, as defined above.
+ */
+ NodeType getNodeType();
+
+ /**
+ The value of this node, depending on its type; see the table above.
+
+ @throws com::sun::star::xml::dom::DOMException
+ <p>DOMSTRING_SIZE_ERR: Raised when it would return more characters
+ than fit in a DOMString variable on the implementation platform.</p>
+ */
+ string getNodeValue() raises (DOMException);
+
+ /**
+ The Document object associated with this node.
+ */
+ XDocument getOwnerDocument();
+
+ /**
+ The parent of this node.
+ */
+ XNode getParentNode();
+
+ /**
+ The namespace prefix of this node, or null if it is unspecified.
+ */
+ string getPrefix();
+
+ /**
+ The node immediately preceding this node.
+ */
+ XNode getPreviousSibling();
+
+ /**
+ Returns whether this node (if it is an element) has any attributes.
+ */
+ boolean hasAttributes();
+
+ /**
+ Returns whether this node has any children.
+ */
+ boolean hasChildNodes();
+
+ /**
+ Inserts the node newChild before the existing child node refChild.
+ @throws DOMException
+ <p>HIERARCHY_REQUEST_ERR: Raised if this node is of a type that does
+ not allow children of the type of the newChild node, or if the
+ node to insert is one of this node's ancestors or this node itself.
+ <p>WRONG_DOCUMENT_ERR: Raised if newChild was created from a different
+ document than the one that created this node.
+ <p>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly or if the
+ parent of the node being inserted is readonly.
+ <p>NOT_FOUND_ERR: Raised if refChild is not a child of this node.
+ */
+ XNode insertBefore([in] XNode newChild, [in] XNode refChild) raises (DOMException);
+
+ /**
+ Tests whether the DOM implementation implements a specific feature and
+ that feature is supported by this node.
+ */
+ boolean isSupported([in] string feature, [in] string ver);
+
+ /**
+ Puts all Text nodes in the full depth of the sub-tree underneath this
+ Node, including attribute nodes, into a "normal" form where only structure
+ (e.g., elements, comments, processing instructions, CDATA sections, and
+ entity references) separates Text nodes, i.e., there are neither adjacent
+ Text nodes nor empty Text nodes.
+ */
+ void normalize();
+
+ /**
+ Removes the child node indicated by oldChild from the list of children,
+ and returns it.
+ @throws DOMException
+ <p>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
+ <p>NOT_FOUND_ERR: Raised if oldChild is not a child of this node.
+ */
+ XNode removeChild([in] XNode oldChild) raises (DOMException);
+
+ /**
+ Replaces the child node oldChild with newChild in the list of children,
+ and returns the oldChild node.
+ @throws DOMException
+ <p>HIERARCHY_REQUEST_ERR: Raised if this node is of a type that
+ does not allow children of the type of the newChild node, or
+ if the node to put in is one of this node's ancestors or this
+ node itself.
+ <p>WRONG_DOCUMENT_ERR: Raised if newChild was created from a different
+ document than the one that created this node.
+ <p>NO_MODIFICATION_ALLOWED_ERR: Raised if this node or the parent of the
+ new node is readonly.
+ <p>NOT_FOUND_ERR: Raised if oldChild is not a child of this node.
+ */
+ XNode replaceChild([in] XNode newChild, [in] XNode oldChild) raises (DOMException);
+
+ /**
+ The value of this node, depending on its type; see the table above.
+ @throws DOMException
+ <p>NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.
+ <p>DOMSTRING_SIZE_ERR: Raised when it would return more characters
+ than fit in a DOMString variable on the implementation platform.
+ */
+ void setNodeValue([in] string nodeValue) raises (DOMException);
+
+ /**
+ The namespace prefix of this node, or null if it is unspecified.
+ @throws DOMException
+ <p>INVALID_CHARACTER_ERR: Raised if the specified prefix contains an illegal character,
+ per the XML 1.0 specification .
+ <p>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
+ <p>NAMESPACE_ERR: Raised if the specified prefix is malformed per the Namespaces
+ in XML specification, if the namespaceURI of this node is null, if the specified
+ prefix is "xml" and the namespaceURI of this node is different from
+ "http://www.w3.org/XML/1998/namespace", if this node is an attribute and the
+ specified prefix is "xmlns" and the namespaceURI of this node is different from
+ " http://www.w3.org/2000/xmlns/", or if this node is an attribute and the qualifiedName
+ of this node is "xmlns" .
+ */
+ void setPrefix([in] string prefix) raises (DOMException);
+
+};
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/XNodeList.idl b/offapi/com/sun/star/xml/dom/XNodeList.idl
new file mode 100644
index 000000000..d4d307fab
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XNodeList.idl
@@ -0,0 +1,45 @@
+/* -*- 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_XNodeList_idl__
+#define __com_sun_star_xml_dom_XNodeList_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module xml { module dom {
+
+interface XNode;
+
+interface XNodeList : com::sun::star::uno::XInterface
+{
+ /**
+ The number of nodes in the list.
+ */
+ long getLength();
+ /**
+ Returns a node specified by index in the collection.
+ */
+ XNode item([in] long index);
+};
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/XNotation.idl b/offapi/com/sun/star/xml/dom/XNotation.idl
new file mode 100644
index 000000000..a1241440e
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XNotation.idl
@@ -0,0 +1,44 @@
+/* -*- 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_XNotation_idl__
+#define __com_sun_star_xml_dom_XNotation_idl__
+
+#include <com/sun/star/xml/dom/XNode.idl>
+
+module com { module sun { module star { module xml { module dom {
+
+interface XNotation : XNode
+{
+ /**
+ The public identifier of this notation.
+ */
+ string getPublicId();
+
+ /**
+ The system identifier of this notation.
+ */
+ string getSystemId();
+};
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/XProcessingInstruction.idl b/offapi/com/sun/star/xml/dom/XProcessingInstruction.idl
new file mode 100644
index 000000000..e9ac864b0
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XProcessingInstruction.idl
@@ -0,0 +1,53 @@
+/* -*- 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_XProcessingInstruction_idl__
+#define __com_sun_star_xml_dom_XProcessingInstruction_idl__
+
+#include <com/sun/star/xml/dom/XNode.idl>
+
+module com { module sun { module star { module xml { module dom {
+
+interface XProcessingInstruction : XNode
+{
+ /**
+ The content of this processing instruction.
+ */
+ string getData();
+
+ /**
+ The target of this processing instruction.
+ */
+ string getTarget();
+
+ /**
+ The content of this processing instruction.
+ Throws:
+ DOMException - NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.
+ */
+ void setData([in] string data) raises (DOMException);
+
+
+};
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/XSAXDocumentBuilder.idl b/offapi/com/sun/star/xml/dom/XSAXDocumentBuilder.idl
new file mode 100644
index 000000000..36936edb0
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XSAXDocumentBuilder.idl
@@ -0,0 +1,50 @@
+/* -*- 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_XSAXDocumentBuilder_idl__
+#define __com_sun_star_xml_dom_XSAXDocumentBuilder_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/xml/dom/XDocument.idl>
+#include <com/sun/star/xml/dom/XDocumentFragment.idl>
+#include <com/sun/star/xml/dom/SAXDocumentBuilderState.idl>
+
+module com { module sun { module star { module xml { module dom {
+
+/**
+Builds a new dom tree
+*/
+interface XSAXDocumentBuilder : com::sun::star::uno::XInterface
+{
+
+ SAXDocumentBuilderState getState();
+ void reset();
+ XDocument getDocument();
+ XDocumentFragment getDocumentFragment();
+ void startDocumentFragment( [in] XDocument ownerDoc);
+ void endDocumentFragment();
+
+
+};
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/XSAXDocumentBuilder2.idl b/offapi/com/sun/star/xml/dom/XSAXDocumentBuilder2.idl
new file mode 100644
index 000000000..37560fd8d
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XSAXDocumentBuilder2.idl
@@ -0,0 +1,43 @@
+/* -*- 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_XSAXDocumentBuilder2_idl
+#define __com_sun_star_xml_dom_XSAXDocumentBuilder2_idl
+
+#include <com/sun/star/xml/sax/XFastDocumentHandler.idl>
+#include <com/sun/star/xml/dom/XSAXDocumentBuilder.idl>
+
+module com { module sun { module star { module xml { module dom {
+
+/**
+ Provides a unified interface for the SAXDocumentBuilder service to implement.
+
+ @since LibreOffice 4.0
+*/
+interface XSAXDocumentBuilder2
+{
+ interface XSAXDocumentBuilder;
+ interface com::sun::star::xml::sax::XFastDocumentHandler;
+};
+
+};};};};};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/XText.idl b/offapi/com/sun/star/xml/dom/XText.idl
new file mode 100644
index 000000000..7274953bf
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XText.idl
@@ -0,0 +1,41 @@
+/* -*- 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_XText_idl__
+#define __com_sun_star_xml_dom_XText_idl__
+
+#include <com/sun/star/xml/dom/XCharacterData.idl>
+
+module com { module sun { module star { module xml { module dom {
+
+interface XText: XCharacterData
+{
+ /** Breaks this node into two nodes at the specified offset, keeping
+ both in the tree as siblings.
+ Throws:
+ DOMException - INDEX_SIZE_ERR: Raised if the specified offset is negative or greater than the number of 16-bit units in data.
+ NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
+ */
+ XText splitText([in] long offset) raises (DOMException);
+};
+};};};};};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/events/AttrChangeType.idl b/offapi/com/sun/star/xml/dom/events/AttrChangeType.idl
new file mode 100644
index 000000000..ef6532fa9
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/events/AttrChangeType.idl
@@ -0,0 +1,36 @@
+/* -*- 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_events_AttrChangeType_idl__
+#define __com_sun_star_xml_dom_events_AttrChangeType_idl__
+
+module com { module sun { module star { module xml { module dom { module events {
+
+enum AttrChangeType
+{
+ MODIFICATION,
+ ADDITION,
+ REMOVAL
+};
+
+}; }; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/events/EventException.idl b/offapi/com/sun/star/xml/dom/events/EventException.idl
new file mode 100644
index 000000000..94408e08e
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/events/EventException.idl
@@ -0,0 +1,35 @@
+/* -*- 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_events_EventException_idl__
+#define __com_sun_star_xml_dom_events_EventException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module xml { module dom { module events {
+
+// Introduced in DOM Level 2:
+exception EventException: com::sun::star::uno::Exception {
+ short code;
+};
+
+}; }; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/events/EventType.idl b/offapi/com/sun/star/xml/dom/events/EventType.idl
new file mode 100644
index 000000000..3dab31c93
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/events/EventType.idl
@@ -0,0 +1,168 @@
+/* -*- 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_events_EventType_idl__
+#define __com_sun_star_xml_dom_events_EventType_idl__
+
+module com { module sun { module star { module xml { module dom { module events {
+
+enum EventType
+{
+ DOMFocusIn,
+ /*
+ The DOMFocusIn event occurs when an EventTarget receives focus, for instance via a pointing device being moved onto an element or by tabbing navigation to the element. Unlike the HTML event focus, DOMFocusIn can be applied to any focusable EventTarget, not just FORM controls.
+ * Bubbles: Yes
+ * Cancelable: No
+ * Context Info: None
+ */
+
+ DOMFocusOut,
+ /*
+ The DOMFocusOut event occurs when an EventTarget loses focus, for instance via a pointing device being moved out of an element or by tabbing navigation out of the element. Unlike the HTML event blur, DOMFocusOut can be applied to any focusable EventTarget, not just FORM controls.
+ * Bubbles: Yes
+ * Cancelable: No
+ * Context Info: None
+ */
+
+ DOMActivate,
+ /*
+ The activate event occurs when an element is activated, for instance, through a mouse click or a key press. A numerical argument is provided to give an indication of the type of activation that occurs: 1 for a simple activation (e.g. a simple click or Enter), 2 for hyper activation (for instance a double click or Shift Enter).
+ * Bubbles: Yes
+ * Cancelable: Yes
+ * Context Info: detail (the numerical value)
+ */
+
+ click,
+ /*
+ The click event occurs when the pointing device button is clicked over an element.
+ A click is defined as a mousedown and mouseup over the same screen location.
+ The sequence of these events is:
+
+ mousedown
+ mouseup
+ click
+
+ If multiple clicks occur at the same screen location, the sequence repeats with the detail attribute incrementing with each repetition. This event is valid for most elements.
+
+ * Bubbles: Yes
+ * Cancelable: Yes
+ * Context Info: screenX, screenY, clientX, clientY, altKey, ctrlKey, shiftKey, metaKey, button, detail
+ */
+
+ mousedown,
+ /*
+ The mousedown event occurs when the pointing device button is pressed over an element. This event is valid for most elements.
+ * Bubbles: Yes
+ * Cancelable: Yes
+ * Context Info: screenX, screenY, clientX, clientY, altKey, ctrlKey, shiftKey, metaKey, button, detail
+ */
+
+ mouseup,
+ /*
+ The mouseup event occurs when the pointing device button is released over an element. This event is valid for most elements.
+ * Bubbles: Yes
+ * Cancelable: Yes
+ * Context Info: screenX, screenY, clientX, clientY, altKey, ctrlKey, shiftKey, metaKey, button, detail
+ */
+
+ mouseover,
+ /*
+ The mouseover event occurs when the pointing device is moved onto an element. This event is valid for most elements.
+ * Bubbles: Yes
+ * Cancelable: Yes
+ * Context Info: screenX, screenY, clientX, clientY, altKey, ctrlKey, shiftKey, metaKey, relatedTarget indicates the EventTarget the pointing device is exiting.
+ */
+
+ mousemove,
+ /*
+ The mousemove event occurs when the pointing device is moved while it is over an element. This event is valid for most elements.
+ * Bubbles: Yes
+ * Cancelable: No
+ * Context Info: screenX, screenY, clientX, clientY, altKey, ctrlKey, shiftKey, metaKey
+ */
+
+ mouseout,
+ /*
+ The mouseout event occurs when the pointing device is moved away from an element. This event is valid for most elements...
+ * Bubbles: Yes
+ * Cancelable: Yes
+ * Context Info: screenX, screenY, clientX, clientY, altKey, ctrlKey, shiftKey, metaKey, relatedTarget indicates the EventTarget the pointing device is entering.
+ */
+
+ DOMSubtreeModified,
+ /*
+ This is a general event for notification of all changes to the document. It can be used instead of the more specific events listed below. It may be fired after a single modification to the document or, at the implementation's discretion, after multiple changes have occurred. The latter use should generally be used to accommodate multiple changes which occur either simultaneously or in rapid succession. The target of this event is the lowest common parent of the changes which have taken place. This event is dispatched after any other events caused by the mutation have fired.
+ * Bubbles: Yes
+ * Cancelable: No
+ * Context Info: None
+ */
+
+ DOMNodeInserted,
+ /*
+ Fired when a node has been added as a child of another node. This event is dispatched after the insertion has taken place. The target of this event is the node being inserted.
+ * Bubbles: Yes
+ * Cancelable: No
+ * Context Info: relatedNode holds the parent node
+ */
+
+ DOMNodeRemoved,
+ /*
+ Fired when a node is being removed from its parent node. This event is dispatched before the node is removed from the tree. The target of this event is the node being removed.
+ * Bubbles: Yes
+ * Cancelable: No
+ * Context Info: relatedNode holds the parent node
+ */
+
+ DOMNodeRemovedFromDocument,
+ /*
+ Fired when a node is being removed from a document, either through direct removal of the Node or removal of a subtree in which it is contained. This event is dispatched before the removal takes place. The target of this event is the Node being removed. If the Node is being directly removed the DOMNodeRemoved event will fire before the DOMNodeRemovedFromDocument event.
+ * Bubbles: No
+ * Cancelable: No
+ * Context Info: None
+ */
+
+ DOMNodeInsertedIntoDocument,
+ /*
+ Fired when a node is being inserted into a document, either through direct insertion of the Node or insertion of a subtree in which it is contained. This event is dispatched after the insertion has taken place. The target of this event is the node being inserted. If the Node is being directly inserted the DOMNodeInserted event will fire before the DOMNodeInsertedIntoDocument event.
+ * Bubbles: No
+ * Cancelable: No
+ * Context Info: None
+ */
+
+ DOMAttrModified,
+ /*
+ Fired after an Attr has been modified on a node. The target of this event is the Node whose Attr changed. The value of attrChange indicates whether the Attr was modified, added, or removed. The value of relatedNode indicates the Attr node whose value has been affected. It is expected that string based replacement of an Attr value will be viewed as a modification of the Attr since its identity does not change. Subsequently replacement of the Attr node with a different Attr node is viewed as the removal of the first Attr node and the addition of the second.
+ * Bubbles: Yes
+ * Cancelable: No
+ * Context Info: attrName, attrChange, prevValue, newValue, relatedNode
+ */
+
+ DOMCharacterDataModified
+ /*
+ Fired after CharacterData within a node has been modified but the node itself has not been inserted or deleted. This event is also triggered by modifications to PI elements. The target of this event is the CharacterData node.
+ * Bubbles: Yes
+ * Cancelable: No
+ * Context Info: prevValue, newValue
+ */
+};
+}; }; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/events/PhaseType.idl b/offapi/com/sun/star/xml/dom/events/PhaseType.idl
new file mode 100644
index 000000000..7b7faefa1
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/events/PhaseType.idl
@@ -0,0 +1,34 @@
+/* -*- 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_events_PhaseType_idl__
+#define __com_sun_star_xml_dom_events_PhaseType_idl__
+
+module com { module sun { module star { module xml { module dom { module events {
+
+enum PhaseType
+{
+ CAPTURING_PHASE,
+ AT_TARGET,
+ BUBBLING_PHASE
+};
+}; }; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/events/XDocumentEvent.idl b/offapi/com/sun/star/xml/dom/events/XDocumentEvent.idl
new file mode 100644
index 000000000..bdc26b0d4
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/events/XDocumentEvent.idl
@@ -0,0 +1,36 @@
+/* -*- 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_events_XDocumentEvent_idl__
+#define __com_sun_star_xml_dom_events_XDocumentEvent_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/xml/dom/events/EventType.idl>
+#include <com/sun/star/xml/dom/events/XEvent.idl>
+
+module com { module sun { module star { module xml { module dom { module events {
+
+// Introduced in DOM Level 2:
+interface XDocumentEvent : com::sun::star::uno::XInterface {
+ XEvent createEvent([in] string eventType);
+};
+}; }; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/events/XEvent.idl b/offapi/com/sun/star/xml/dom/events/XEvent.idl
new file mode 100644
index 000000000..7345b3054
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/events/XEvent.idl
@@ -0,0 +1,60 @@
+/* -*- 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_events_XEvent_idl__
+#define __com_sun_star_xml_dom_events_XEvent_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/xml/dom/events/XEventTarget.idl>
+#include <com/sun/star/xml/dom/events/EventType.idl>
+#include <com/sun/star/xml/dom/events/PhaseType.idl>
+#include <com/sun/star/util/Time.idl>
+
+module com { module sun { module star { module xml { module dom { module events {
+
+// Introduced in DOM Level 2:
+interface XEvent : com::sun::star::uno::XInterface
+{
+
+ string getType();
+
+ XEventTarget getTarget();
+
+ XEventTarget getCurrentTarget();
+
+ PhaseType getEventPhase();
+
+ boolean getBubbles();
+
+ boolean getCancelable();
+
+ com::sun::star::util::Time getTimeStamp();
+
+ void stopPropagation();
+
+ void preventDefault();
+
+ void initEvent([in] string eventTypeArg,
+ [in] boolean canBubbleArg,
+ [in] boolean cancelableArg);
+};
+}; }; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/events/XEventListener.idl b/offapi/com/sun/star/xml/dom/events/XEventListener.idl
new file mode 100644
index 000000000..16b302aab
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/events/XEventListener.idl
@@ -0,0 +1,36 @@
+/* -*- 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_events_XEventListener_idl__
+#define __com_sun_star_xml_dom_events_XEventListener_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module xml { module dom { module events {
+
+interface XEvent;
+
+// Introduced in DOM Level 2:
+interface XEventListener : com::sun::star::uno::XInterface {
+ void handleEvent([in] XEvent evt);
+};
+}; }; }; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/events/XEventTarget.idl b/offapi/com/sun/star/xml/dom/events/XEventTarget.idl
new file mode 100644
index 000000000..f73d4e71b
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/events/XEventTarget.idl
@@ -0,0 +1,49 @@
+/* -*- 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_events_XEventTarget_idl__
+#define __com_sun_star_xml_dom_events_XEventTarget_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/xml/dom/events/EventType.idl>
+#include <com/sun/star/xml/dom/events/EventException.idl>
+#include <com/sun/star/xml/dom/events/XEventListener.idl>
+
+
+module com { module sun { module star { module xml { module dom { module events {
+
+interface XEvent;
+
+// Introduced in DOM Level 2:
+interface XEventTarget : com::sun::star::uno::XInterface {
+ void addEventListener([in] string eventType,
+ [in] XEventListener listener,
+ [in] boolean useCapture);
+
+ void removeEventListener([in] string eventType,
+ [in] XEventListener listener,
+ [in] boolean useCapture);
+
+ boolean dispatchEvent([in] XEvent evt) raises(EventException);
+};
+}; }; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/events/XMouseEvent.idl b/offapi/com/sun/star/xml/dom/events/XMouseEvent.idl
new file mode 100644
index 000000000..a84a0324b
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/events/XMouseEvent.idl
@@ -0,0 +1,63 @@
+/* -*- 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_events_XMouseEvent_idl__
+#define __com_sun_star_xml_dom_events_XMouseEvent_idl__
+
+#include <com/sun/star/xml/dom/events/EventType.idl>
+#include <com/sun/star/xml/dom/events/XEvent.idl>
+#include <com/sun/star/xml/dom/events/XUIEvent.idl>
+#include <com/sun/star/xml/dom/events/XEventTarget.idl>
+#include <com/sun/star/xml/dom/events/XEventListener.idl>
+
+module com { module sun { module star { module xml { module dom { module events {
+
+// Introduced in DOM Level 2:
+interface XMouseEvent : XUIEvent {
+
+ long getScreenX();
+ long getScreenY();
+ long getClientX();
+ long getClientY();
+ boolean getCtrlKey();
+ boolean getShiftKey();
+ boolean getAltKey();
+ boolean getMetaKey();
+ short getButton();
+ XEventTarget getRelatedTarget();
+
+ void initMouseEvent([in] string typeArg,
+ [in] boolean canBubbleArg,
+ [in] boolean cancelableArg,
+ [in] com::sun::star::xml::dom::views::XAbstractView viewArg,
+ [in] long detailArg,
+ [in] long screenXArg,
+ [in] long screenYArg,
+ [in] long clientXArg,
+ [in] long clientYArg,
+ [in] boolean ctrlKeyArg,
+ [in] boolean altKeyArg,
+ [in] boolean shiftKeyArg,
+ [in] boolean metaKeyArg,
+ [in] short buttonArg,
+ [in] XEventTarget relatedTargetArg);
+};
+}; }; }; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/events/XMutationEvent.idl b/offapi/com/sun/star/xml/dom/events/XMutationEvent.idl
new file mode 100644
index 000000000..f0baf2e1b
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/events/XMutationEvent.idl
@@ -0,0 +1,53 @@
+/* -*- 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_events_XMutationEvent_idl__
+#define __com_sun_star_xml_dom_events_XMutationEvent_idl__
+
+#include <com/sun/star/xml/dom/events/EventType.idl>
+#include <com/sun/star/xml/dom/events/AttrChangeType.idl>
+#include <com/sun/star/xml/dom/events/XEvent.idl>
+#include <com/sun/star/xml/dom/events/XEventTarget.idl>
+#include <com/sun/star/xml/dom/events/XEventListener.idl>
+#include <com/sun/star/xml/dom/XNode.idl>
+
+module com { module sun { module star { module xml { module dom { module events {
+
+interface XMutationEvent : XEvent {
+
+
+ com::sun::star::xml::dom::XNode getRelatedNode();
+ string getPrevValue();
+ string getNewValue();
+ string getAttrName();
+ AttrChangeType getAttrChange();
+
+ void initMutationEvent([in] string typeArg,
+ [in] boolean canBubbleArg,
+ [in] boolean cancelableArg,
+ [in] com::sun::star::xml::dom::XNode relatedNodeArg,
+ [in] string prevValueArg,
+ [in] string newValueArg,
+ [in] string attrNameArg,
+ [in] AttrChangeType attrChangeArg);
+};
+}; }; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/events/XUIEvent.idl b/offapi/com/sun/star/xml/dom/events/XUIEvent.idl
new file mode 100644
index 000000000..78dd5cd99
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/events/XUIEvent.idl
@@ -0,0 +1,43 @@
+/* -*- 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_events_XUIEvent_idl__
+#define __com_sun_star_xml_dom_events_XUIEvent_idl__
+
+#include <com/sun/star/xml/dom/events/XEvent.idl>
+
+module com { module sun { module star { module xml { module dom { module views {
+ interface XAbstractView;
+}; }; }; }; }; };
+
+module com { module sun { module star { module xml { module dom { module events {
+
+// Introduced in DOM Level 2:
+interface XUIEvent : XEvent {
+ com::sun::star::xml::dom::views::XAbstractView getView();
+ long getDetail();
+ void initUIEvent([in] string typeArg,
+ [in] boolean canBubbleArg,
+ [in] boolean cancelableArg,
+ [in] com::sun::star::xml::dom::views::XAbstractView viewArg,
+ [in] long detailArg);
+};
+}; }; }; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/views/XAbstractView.idl b/offapi/com/sun/star/xml/dom/views/XAbstractView.idl
new file mode 100644
index 000000000..b721961ab
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/views/XAbstractView.idl
@@ -0,0 +1,35 @@
+/* -*- 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_views_XAbstractView_idl__
+#define __com_sun_star_xml_dom_views_XAbstractView_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/xml/dom/events/XEvent.idl>
+
+module com { module sun { module star { module xml { module dom { module views {
+
+interface XDocumentView;
+
+interface XAbstractView : com::sun::star::uno::XInterface{
+ XDocumentView getDocument();
+};
+}; }; }; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/views/XDocumentView.idl b/offapi/com/sun/star/xml/dom/views/XDocumentView.idl
new file mode 100644
index 000000000..fe239aa0a
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/views/XDocumentView.idl
@@ -0,0 +1,33 @@
+/* -*- 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_views_XDocumentView_idl__
+#define __com_sun_star_xml_dom_views_XDocumentView_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/xml/dom/views/XAbstractView.idl>
+
+module com { module sun { module star { module xml { module dom { module views {
+
+interface XDocumentView : com::sun::star::uno::XInterface {
+ XAbstractView getDefaultView();
+};
+}; }; }; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */