summaryrefslogtreecommitdiff
path: root/offapi/com/sun/star/xml
diff options
context:
space:
mode:
Diffstat (limited to 'offapi/com/sun/star/xml')
-rw-r--r--offapi/com/sun/star/xml/Attribute.idl61
-rw-r--r--offapi/com/sun/star/xml/AttributeContainer.idl56
-rw-r--r--offapi/com/sun/star/xml/AttributeData.idl65
-rw-r--r--offapi/com/sun/star/xml/ExportFilter.idl65
-rw-r--r--offapi/com/sun/star/xml/FastAttribute.idl56
-rw-r--r--offapi/com/sun/star/xml/ImportFilter.idl49
-rw-r--r--offapi/com/sun/star/xml/NamespaceContainer.idl52
-rw-r--r--offapi/com/sun/star/xml/ParaUserDefinedAttributesSupplier.idl62
-rw-r--r--offapi/com/sun/star/xml/TextUserDefinedAttributesSupplier.idl62
-rw-r--r--offapi/com/sun/star/xml/UserDefinedAttributeSupplier.idl71
-rw-r--r--offapi/com/sun/star/xml/UserDefinedAttributesSupplier.idl62
-rw-r--r--offapi/com/sun/star/xml/XExportFilter.idl77
-rw-r--r--offapi/com/sun/star/xml/XImportFilter.idl81
-rw-r--r--offapi/com/sun/star/xml/XMLExportFilter.idl60
-rw-r--r--offapi/com/sun/star/xml/XMLImportFilter.idl64
-rw-r--r--offapi/com/sun/star/xml/crypto/SEInitializer.idl56
-rw-r--r--offapi/com/sun/star/xml/crypto/SecurityEnvironment.idl60
-rw-r--r--offapi/com/sun/star/xml/crypto/SecurityOperationStatus.idl150
-rw-r--r--offapi/com/sun/star/xml/crypto/XMLEncryption.idl57
-rw-r--r--offapi/com/sun/star/xml/crypto/XMLEncryptionException.idl55
-rw-r--r--offapi/com/sun/star/xml/crypto/XMLEncryptionTemplate.idl58
-rw-r--r--offapi/com/sun/star/xml/crypto/XMLSecurityContext.idl58
-rw-r--r--offapi/com/sun/star/xml/crypto/XMLSignature.idl58
-rw-r--r--offapi/com/sun/star/xml/crypto/XMLSignatureException.idl55
-rw-r--r--offapi/com/sun/star/xml/crypto/XMLSignatureTemplate.idl58
-rw-r--r--offapi/com/sun/star/xml/crypto/XSEInitializer.idl68
-rw-r--r--offapi/com/sun/star/xml/crypto/XSecurityEnvironment.idl122
-rw-r--r--offapi/com/sun/star/xml/crypto/XUriBinding.idl72
-rw-r--r--offapi/com/sun/star/xml/crypto/XXMLEncryption.idl87
-rw-r--r--offapi/com/sun/star/xml/crypto/XXMLEncryptionTemplate.idl97
-rw-r--r--offapi/com/sun/star/xml/crypto/XXMLSecurityContext.idl87
-rw-r--r--offapi/com/sun/star/xml/crypto/XXMLSecurityTemplate.idl89
-rw-r--r--offapi/com/sun/star/xml/crypto/XXMLSignature.idl88
-rw-r--r--offapi/com/sun/star/xml/crypto/XXMLSignatureTemplate.idl85
-rw-r--r--offapi/com/sun/star/xml/crypto/makefile.mk66
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/Decryptor.idl66
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/Encryptor.idl68
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/SAXEventKeeper.idl64
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/SignatureCreator.idl67
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/SignatureVerifier.idl68
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XBlockerMonitor.idl60
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XDecryptionResultBroadcaster.idl75
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XDecryptionResultListener.idl64
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XElementStackKeeper.idl94
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XEncryptionResultBroadcaster.idl75
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XEncryptionResultListener.idl64
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XKeyCollector.idl61
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XMissionTaker.idl60
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XReferenceCollector.idl70
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XReferenceResolvedBroadcaster.idl82
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XReferenceResolvedListener.idl61
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XSAXEventKeeper.idl147
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XSAXEventKeeperStatusChangeBroadcaster.idl76
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XSAXEventKeeperStatusChangeListener.idl78
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XSecurityController.idl55
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XSecuritySAXEventKeeper.idl133
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XSignatureCreationResultBroadcaster.idl76
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XSignatureCreationResultListener.idl64
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XSignatureVerifyResultBroadcaster.idl76
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XSignatureVerifyResultListener.idl64
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/makefile.mk72
-rw-r--r--offapi/com/sun/star/xml/csax/XCompressedDocumentHandler.idl96
-rw-r--r--offapi/com/sun/star/xml/csax/makefile.mk48
-rw-r--r--offapi/com/sun/star/xml/dom/DOMException.idl54
-rw-r--r--offapi/com/sun/star/xml/dom/DOMExceptionType.idl54
-rw-r--r--offapi/com/sun/star/xml/dom/DocumentBuilder.idl14
-rw-r--r--offapi/com/sun/star/xml/dom/NodeType.idl51
-rw-r--r--offapi/com/sun/star/xml/dom/SAXDocumentBuilder.idl19
-rw-r--r--offapi/com/sun/star/xml/dom/SAXDocumentBuilderState.idl44
-rw-r--r--offapi/com/sun/star/xml/dom/XAttr.idl73
-rw-r--r--offapi/com/sun/star/xml/dom/XCDATASection.idl42
-rw-r--r--offapi/com/sun/star/xml/dom/XCharacterData.idl112
-rw-r--r--offapi/com/sun/star/xml/dom/XComment.idl43
-rw-r--r--offapi/com/sun/star/xml/dom/XDOMImplementation.idl88
-rw-r--r--offapi/com/sun/star/xml/dom/XDocument.idl195
-rw-r--r--offapi/com/sun/star/xml/dom/XDocumentBuilder.idl126
-rw-r--r--offapi/com/sun/star/xml/dom/XDocumentFragment.idl42
-rw-r--r--offapi/com/sun/star/xml/dom/XDocumentType.idl78
-rw-r--r--offapi/com/sun/star/xml/dom/XElement.idl156
-rw-r--r--offapi/com/sun/star/xml/dom/XEntity.idl57
-rw-r--r--offapi/com/sun/star/xml/dom/XEntityReference.idl42
-rw-r--r--offapi/com/sun/star/xml/dom/XNamedNodeMap.idl104
-rw-r--r--offapi/com/sun/star/xml/dom/XNode.idl282
-rw-r--r--offapi/com/sun/star/xml/dom/XNodeList.idl53
-rw-r--r--offapi/com/sun/star/xml/dom/XNotation.idl52
-rw-r--r--offapi/com/sun/star/xml/dom/XProcessingInstruction.idl61
-rw-r--r--offapi/com/sun/star/xml/dom/XSAXDocumentBuilder.idl65
-rw-r--r--offapi/com/sun/star/xml/dom/XText.idl49
-rw-r--r--offapi/com/sun/star/xml/dom/events/AttrChangeType.idl42
-rw-r--r--offapi/com/sun/star/xml/dom/events/EventException.idl43
-rw-r--r--offapi/com/sun/star/xml/dom/events/EventType.idl174
-rw-r--r--offapi/com/sun/star/xml/dom/events/PhaseType.idl40
-rw-r--r--offapi/com/sun/star/xml/dom/events/XDocumentEvent.idl42
-rw-r--r--offapi/com/sun/star/xml/dom/events/XEvent.idl66
-rw-r--r--offapi/com/sun/star/xml/dom/events/XEventListener.idl42
-rw-r--r--offapi/com/sun/star/xml/dom/events/XEventTarget.idl55
-rw-r--r--offapi/com/sun/star/xml/dom/events/XMouseEvent.idl69
-rw-r--r--offapi/com/sun/star/xml/dom/events/XMutationEvent.idl60
-rw-r--r--offapi/com/sun/star/xml/dom/events/XUIEvent.idl49
-rw-r--r--offapi/com/sun/star/xml/dom/events/makefile.mk62
-rw-r--r--offapi/com/sun/star/xml/dom/makefile.mk75
-rw-r--r--offapi/com/sun/star/xml/dom/views/XAbstractView.idl41
-rw-r--r--offapi/com/sun/star/xml/dom/views/XDocumentView.idl39
-rw-r--r--offapi/com/sun/star/xml/dom/views/makefile.mk53
-rw-r--r--offapi/com/sun/star/xml/input/SaxDocumentHandler.idl56
-rw-r--r--offapi/com/sun/star/xml/input/XAttributes.idl127
-rw-r--r--offapi/com/sun/star/xml/input/XElement.idl120
-rw-r--r--offapi/com/sun/star/xml/input/XNamespaceMapping.idl65
-rw-r--r--offapi/com/sun/star/xml/input/XRoot.idl97
-rw-r--r--offapi/com/sun/star/xml/input/makefile.mk51
-rw-r--r--offapi/com/sun/star/xml/makefile.mk60
-rw-r--r--offapi/com/sun/star/xml/sax/FastShapeContextHandler.idl45
-rw-r--r--offapi/com/sun/star/xml/sax/FastToken.idl59
-rw-r--r--offapi/com/sun/star/xml/sax/FastTokenHandler.idl43
-rw-r--r--offapi/com/sun/star/xml/sax/InputSource.idl88
-rw-r--r--offapi/com/sun/star/xml/sax/SAXException.idl66
-rw-r--r--offapi/com/sun/star/xml/sax/SAXInvalidCharacterException.idl54
-rw-r--r--offapi/com/sun/star/xml/sax/SAXParseException.idl78
-rw-r--r--offapi/com/sun/star/xml/sax/XAttributeList.idl102
-rw-r--r--offapi/com/sun/star/xml/sax/XDTDHandler.idl79
-rw-r--r--offapi/com/sun/star/xml/sax/XDocumentHandler.idl125
-rw-r--r--offapi/com/sun/star/xml/sax/XEntityResolver.idl71
-rw-r--r--offapi/com/sun/star/xml/sax/XErrorHandler.idl84
-rw-r--r--offapi/com/sun/star/xml/sax/XExtendedDocumentHandler.idl95
-rw-r--r--offapi/com/sun/star/xml/sax/XFastAttributeList.idl180
-rw-r--r--offapi/com/sun/star/xml/sax/XFastContextHandler.idl161
-rw-r--r--offapi/com/sun/star/xml/sax/XFastDocumentHandler.idl89
-rw-r--r--offapi/com/sun/star/xml/sax/XFastParser.idl196
-rw-r--r--offapi/com/sun/star/xml/sax/XFastSAXSerializable.idl99
-rw-r--r--offapi/com/sun/star/xml/sax/XFastSerializer.idl191
-rw-r--r--offapi/com/sun/star/xml/sax/XFastShapeContextHandler.idl62
-rw-r--r--offapi/com/sun/star/xml/sax/XFastTokenHandler.idl93
-rw-r--r--offapi/com/sun/star/xml/sax/XLocator.idl77
-rw-r--r--offapi/com/sun/star/xml/sax/XParser.idl126
-rw-r--r--offapi/com/sun/star/xml/sax/XSAXSerializable.idl82
-rw-r--r--offapi/com/sun/star/xml/sax/makefile.mk69
-rw-r--r--offapi/com/sun/star/xml/wrapper/XMLDocumentWrapper.idl58
-rw-r--r--offapi/com/sun/star/xml/wrapper/XMLElementWrapper.idl60
-rw-r--r--offapi/com/sun/star/xml/wrapper/XXMLDocumentWrapper.idl176
-rw-r--r--offapi/com/sun/star/xml/wrapper/XXMLElementWrapper.idl55
-rw-r--r--offapi/com/sun/star/xml/wrapper/makefile.mk51
-rw-r--r--offapi/com/sun/star/xml/xpath/Libxml2ExtensionHandle.idl49
-rw-r--r--offapi/com/sun/star/xml/xpath/XPathAPI.idl14
-rw-r--r--offapi/com/sun/star/xml/xpath/XPathException.idl50
-rw-r--r--offapi/com/sun/star/xml/xpath/XPathExtension.idl14
-rw-r--r--offapi/com/sun/star/xml/xpath/XPathObjectType.idl51
-rw-r--r--offapi/com/sun/star/xml/xpath/XXPathAPI.idl207
-rw-r--r--offapi/com/sun/star/xml/xpath/XXPathExtension.idl47
-rw-r--r--offapi/com/sun/star/xml/xpath/XXPathObject.idl102
-rw-r--r--offapi/com/sun/star/xml/xpath/makefile.mk60
150 files changed, 11445 insertions, 0 deletions
diff --git a/offapi/com/sun/star/xml/Attribute.idl b/offapi/com/sun/star/xml/Attribute.idl
new file mode 100644
index 000000000000..e76137a311db
--- /dev/null
+++ b/offapi/com/sun/star/xml/Attribute.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xml_Attribute_idl__
+#define __com_sun_star_xml_Attribute_idl__
+
+//=============================================================================
+
+module com { module sun { module star { module xml {
+
+//=============================================================================
+
+/**
+ * A struct to keep information of an element's attribute.
+ */
+struct Attribute
+{
+ /**
+ * the attribute name
+ */
+ string Name;
+
+ /**
+ * the attribute namespace URL
+ */
+ string NamespaceURL;
+
+ /**
+ * the attribute value
+ */
+ string Value;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/xml/AttributeContainer.idl b/offapi/com/sun/star/xml/AttributeContainer.idl
new file mode 100644
index 000000000000..74f34e7f5ac7
--- /dev/null
+++ b/offapi/com/sun/star/xml/AttributeContainer.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_NamespaceContainer_idl__
+#define __com_sun_star_drawing_NamespaceContainer_idl__
+
+#ifndef __com_sun_star_container_xnamecontainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module xml {
+
+//=============================================================================
+/** This service describes a container for xml attributes.
+
+ <p>Each attribute is accessed with its local name, or optionally, its local
+ name with its namespace prefix. The type and value of an attribute is stored
+ in a <code>AttributeData</code> struct. If you use a namespace in the
+ <code>AttributeData</code>, you must use a prefix in the name and you must
+ use a namespace, if you use a prefix.
+*/
+published service AttributeContainer
+{
+ interface com::sun::star::container::XNameContainer;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/xml/AttributeData.idl b/offapi/com/sun/star/xml/AttributeData.idl
new file mode 100644
index 000000000000..4f8deab14a58
--- /dev/null
+++ b/offapi/com/sun/star/xml/AttributeData.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_AttributeData_idl__
+#define __com_sun_star_xml_AttributeData_idl__
+
+//=============================================================================
+
+ module com { module sun { module star { module xml {
+
+//=============================================================================
+
+/** store the type and value of an XML attribute
+ inside a XNameContainer
+ */
+published struct AttributeData
+{
+ /** the namespace of this XML attribute.
+
+ <p>This string can be empty if you are not using namespaces.
+ */
+ string Namespace;
+
+
+ /** the type of this XML attribute.
+
+ <p>For non validating parsers this must be CDATA.
+ */
+ string Type;
+
+
+ /** the string value of this XML attribute.
+ */
+ string Value;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/xml/ExportFilter.idl b/offapi/com/sun/star/xml/ExportFilter.idl
new file mode 100644
index 000000000000..aae508180607
--- /dev/null
+++ b/offapi/com/sun/star/xml/ExportFilter.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _COM_SUN_STAR_XML_EXPORTFILTER_IDL__
+#define _COM_SUN_STAR_XML_EXPORTFILTER_IDL__
+
+#ifndef _COM_SUN_STAR_XML_XEXPORTFILTER_IDL__
+#include <com/sun/star/xml/XExportFilter.idl>
+#endif
+
+
+module com { module sun { module star { module xml {
+
+/** describes an export filter for XML-based file formats.
+
+ <p>First, the <method>XExportFilter::exporter</method> method must be
+ called to provide the export component with the target location to
+ which the data should be exported. Then, the source document's XML
+ representation will be generated by calling the appropriate methods
+ of the <type scope="com::sun::star::xml::sax">XDocumentHandler</type>
+ interface. Error conditions must be signalled by throwing
+ a <type scope="com::sun::star::xml::sax">SAXException</type> in the
+ <type scope="com::sun::star::xml::sax">XDocumentHandler</type> calls.
+
+ @since OOo 1.1.2
+ */
+published service ExportFilter
+{
+ /** The data will be passed in through the
+ <type scope="com::sun::star::xml::sax">XDocumentHandler</type> calls. */
+ interface com::sun::star::xml::sax::XDocumentHandler;
+
+ /** The <method>XExportFilter:exporter()</method> call will provide the
+ <type scope="com::sun::star::document">TypeDetection</type> user data
+ required to perform the filtering correctly.
+ */
+ interface com::sun::star::xml::XExportFilter;
+};
+
+}; }; }; };
+#endif
diff --git a/offapi/com/sun/star/xml/FastAttribute.idl b/offapi/com/sun/star/xml/FastAttribute.idl
new file mode 100644
index 000000000000..a5ac2e236c75
--- /dev/null
+++ b/offapi/com/sun/star/xml/FastAttribute.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xml_FastAttribute_idl__
+#define __com_sun_star_xml_FastAttribute_idl__
+
+//=============================================================================
+
+module com { module sun { module star { module xml {
+
+//=============================================================================
+
+/**
+ * A struct to keep information of an element's attribute.
+ */
+struct FastAttribute
+{
+ /**
+ * the token corresponding to the attribute
+ */
+ long Token;
+
+ /**
+ * the attribute value
+ */
+ string Value;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/xml/ImportFilter.idl b/offapi/com/sun/star/xml/ImportFilter.idl
new file mode 100644
index 000000000000..d95c7c099bf3
--- /dev/null
+++ b/offapi/com/sun/star/xml/ImportFilter.idl
@@ -0,0 +1,49 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _COM_SUN_STAR_XML_IMPORTFILTER_IDL__
+#define _COM_SUN_STAR_XML_IMPORTFILTER_IDL__
+
+#ifndef _COM_SUN_STAR_XML_XIMPORTFILTER_IDL__
+#include <com/sun/star/xml/XImportFilter.idl>
+#endif
+
+
+module com { module sun { module star { module xml {
+
+/** describes an import filter for XML-based file formats.
+
+ @since OOo 1.1.2
+*/
+published service ImportFilter
+{
+ interface com::sun::star::xml::XImportFilter;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/xml/NamespaceContainer.idl b/offapi/com/sun/star/xml/NamespaceContainer.idl
new file mode 100644
index 000000000000..03319c029fa4
--- /dev/null
+++ b/offapi/com/sun/star/xml/NamespaceContainer.idl
@@ -0,0 +1,52 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_NamespaceContainer_idl__
+#define __com_sun_star_drawing_NamespaceContainer_idl__
+
+#ifndef __com_sun_star_container_xnamecontainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module xml {
+
+//=============================================================================
+/** This service describes a container for XML namespaces.
+
+ <p>Each namespace is accessed with its prefix and the URL is stored as a string.
+*/
+published service NamespaceContainer
+{
+ interface com::sun::star::container::XNameContainer;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/xml/ParaUserDefinedAttributesSupplier.idl b/offapi/com/sun/star/xml/ParaUserDefinedAttributesSupplier.idl
new file mode 100644
index 000000000000..9d85e30bb255
--- /dev/null
+++ b/offapi/com/sun/star/xml/ParaUserDefinedAttributesSupplier.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _com_sun_star_xml_ParaUserDefinedAttributesSupplier_idl_
+#define _com_sun_star_xml_ParaUserDefinedAttributesSupplier_idl_
+
+#ifndef __com_sun_star_container_XNameContainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+
+module com { module sun { module star { module xml {
+
+/** A component that supports this service preserves XML attributes,
+ unknown by its parser, that belong to the XML element representing
+ it (the component).
+
+ @since OOo 2.0.4
+*/
+published service ParaUserDefinedAttributesSupplier
+{
+ /** This container holds the <type>AttributeData</type> elements
+ that represent uninterpreted XML attributes of a paragraph.
+
+ <p>The idea behind this property is that a parser can stow
+ away all attributes that it cannot handle by itself on reading
+ an XML file. When the file is stored again, the unknown
+ attributes can be written back without loss.</p>
+
+ <p>The
+ <type scope="com::sun::star::container">XNameContainer</type>
+ supports the service <type>AttributeContainer</type>.</p>
+
+ */
+ [property] ::com::sun::star::container::XNameContainer ParaUserDefinedAttributes;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/xml/TextUserDefinedAttributesSupplier.idl b/offapi/com/sun/star/xml/TextUserDefinedAttributesSupplier.idl
new file mode 100644
index 000000000000..cde995ba8872
--- /dev/null
+++ b/offapi/com/sun/star/xml/TextUserDefinedAttributesSupplier.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _com_sun_star_xml_TextUserDefinedAttributesSupplier_idl_
+#define _com_sun_star_xml_TextUserDefinedAttributesSupplier_idl_
+
+#ifndef __com_sun_star_container_XNameContainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+
+module com { module sun { module star { module xml {
+
+/** A component that supports this service preserves XML attributes,
+ unknown by its parser, that belong to the XML element representing
+ it (the component).
+
+ @since OOo 2.0.4
+*/
+published service TextUserDefinedAttributesSupplier
+{
+ /** This container holds the <type>AttributeData</type> elements
+ that represent uninterpreted XML attributes of a text.
+
+ <p>The idea behind this property is that a parser can stow
+ away all attributes that it cannot handle by itself on reading
+ an XML file. When the file is stored again, the unknown
+ attributes can be written back without loss.</p>
+
+ <p>The
+ <type scope="com::sun::star::container">XNameContainer</type>
+ supports the service <type>AttributeContainer</type>.</p>
+
+ */
+ [property] ::com::sun::star::container::XNameContainer TextUserDefinedAttributes;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/xml/UserDefinedAttributeSupplier.idl b/offapi/com/sun/star/xml/UserDefinedAttributeSupplier.idl
new file mode 100644
index 000000000000..515ed93f7b07
--- /dev/null
+++ b/offapi/com/sun/star/xml/UserDefinedAttributeSupplier.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _com_sun_star_xml_UserDefinedAttributeSupplier_idl_
+#define _com_sun_star_xml_UserDefinedAttributeSupplier_idl_
+
+#ifndef __com_sun_star_container_XNameContainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+
+module com { module sun { module star { module xml {
+
+/** A component that supports this service preserves XML attributes,
+ unknown by its parser, that belong to the XML element representing
+ it (the component).
+
+ @since OOo 1.1.2
+
+ @deprecated because of typo in service name.
+ Please use the service UserDefinedAttributesSupplier instead.
+
+ @see <type scope="com::sun::star::xml">UserDefinedAttributesSupplier</type>
+*/
+published service UserDefinedAttributeSupplier
+{
+ /** This container holds the <type>AttributeData</type> elements
+ that represent uninterpreted XML attributes.
+
+ <p>The idea behind this property is that a parser can stow
+ away all attributes that it cannot handle by itself on reading
+ an XML file. When the file is stored again, the unknown
+ attributes can be written back without loss.</p>
+
+ <p>The
+ <type scope="com::sun::star::container">XNameContainer</type>
+ supports the service <type>AttributeContainer</type>.</p>
+
+ @deprecated because of typo in service name.
+ Please use the service UserDefinedAttributesSupplier instead.
+
+ @see <type scope="com::sun::star::xml">UserDefinedAttributesSupplier</type>
+ */
+ [property] ::com::sun::star::container::XNameContainer UserDefinedAttributes;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/xml/UserDefinedAttributesSupplier.idl b/offapi/com/sun/star/xml/UserDefinedAttributesSupplier.idl
new file mode 100644
index 000000000000..9a90a0f06609
--- /dev/null
+++ b/offapi/com/sun/star/xml/UserDefinedAttributesSupplier.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _com_sun_star_xml_UserDefinedAttributesSupplier_idl_
+#define _com_sun_star_xml_UserDefinedAttributesSupplier_idl_
+
+#ifndef __com_sun_star_container_XNameContainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+
+module com { module sun { module star { module xml {
+
+/** A component that supports this service preserves XML attributes,
+ unknown by its parser, that belong to the XML element representing
+ it (the component).
+
+ @since OOo 2.0.4
+*/
+published service UserDefinedAttributesSupplier
+{
+ /** This container holds the <type>AttributeData</type> elements
+ that represent uninterpreted XML attributes.
+
+ <p>The idea behind this property is that a parser can stow
+ away all attributes that it cannot handle by itself on reading
+ an XML file. When the file is stored again, the unknown
+ attributes can be written back without loss.</p>
+
+ <p>The
+ <type scope="com::sun::star::container">XNameContainer</type>
+ supports the service <type>AttributeContainer</type>.</p>
+
+ */
+ [property] ::com::sun::star::container::XNameContainer UserDefinedAttributes;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/xml/XExportFilter.idl b/offapi/com/sun/star/xml/XExportFilter.idl
new file mode 100644
index 000000000000..47051f579e2d
--- /dev/null
+++ b/offapi/com/sun/star/xml/XExportFilter.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _COM_SUN_STAR_XML_XEXPORTFILTER_IDL__
+#define _COM_SUN_STAR_XML_XEXPORTFILTER_IDL__
+
+#ifndef __com_sun_star_uno_RuntimeException_idl__
+#include <com/sun/star/uno/RuntimeException.idl>
+#endif
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/xml/sax/XDocumentHandler.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+//=============================================================================
+
+module com { module sun { module star { module xml {
+
+
+//=============================================================================
+
+/** interface to implement for an XML-based import filter. i
+
+ @since OOo 1.1.2
+ */
+published interface XExportFilter: com::sun::star::uno::XInterface
+{
+ /** performs the import.
+
+ <p>The source data (location indicated by <var>aSourceData</var>), and
+ the XML representation of the document must be generated by calls to
+ xocHandler (???) methods.
+
+ @param aSourceData
+ <type scope="com::sun::star::document">MediaDescriptor</type>
+ which defines the data source
+
+ @param msUserData
+ Sequence of strings which contains the userdata defined in the
+ TypeDetection.xml (???)
+
+ @returns
+ <TRUE/> if import process is successful
+ */
+ boolean exporter(
+ [in] sequence< com::sun::star::beans::PropertyValue > aSourceData,
+ [in] sequence< string > msUserData )
+ raises( com::sun::star::lang::IllegalArgumentException );
+};
+
+}; }; }; };
+#endif
diff --git a/offapi/com/sun/star/xml/XImportFilter.idl b/offapi/com/sun/star/xml/XImportFilter.idl
new file mode 100644
index 000000000000..650a24d8b05c
--- /dev/null
+++ b/offapi/com/sun/star/xml/XImportFilter.idl
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _COM_SUN_STAR_XML_XIMPORTFILTER_IDL__
+#define _COM_SUN_STAR_XML_XIMPORTFILTER_IDL__
+
+#ifndef __com_sun_star_uno_RuntimeException_idl__
+#include <com/sun/star/uno/RuntimeException.idl>
+#endif
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/xml/sax/XDocumentHandler.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+//=============================================================================
+
+module com { module sun { module star { module xml {
+
+
+//=============================================================================
+
+/** interface to implement for an XML-based import filter.
+
+ @since OOo 1.1.2
+ */
+published interface XImportFilter: com::sun::star::uno::XInterface
+{
+ /** performs the import.
+
+ <p>The source data (location indicated by <var>aSourceData</var>),
+ and the XML representation of the document must be generated by calls
+ to xocHandler (???) methods.
+
+ @param aSourceData
+ <type scope="com::sun::star::document">MediaDescriptor</type>
+ which defines the data source
+
+ @param msUserData
+ Sequence of strings which contains the userdata defined in the
+ TypeDetection.xml
+
+ @param xDocHandler
+ target for the XML document representation
+
+ @returns
+ <TRUE/> if import process is successful
+ */
+ boolean importer(
+ [in] sequence< com::sun::star::beans::PropertyValue > aSourceData,
+ [in] com::sun::star::xml::sax::XDocumentHandler xDocHandler,
+ [in] sequence< string > msUserData )
+ raises( com::sun::star::lang::IllegalArgumentException );
+};
+
+}; }; }; };
+#endif
diff --git a/offapi/com/sun/star/xml/XMLExportFilter.idl b/offapi/com/sun/star/xml/XMLExportFilter.idl
new file mode 100644
index 000000000000..c66b6cb3bc60
--- /dev/null
+++ b/offapi/com/sun/star/xml/XMLExportFilter.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_XMLExportFilter_idl__
+#define __com_sun_star_xml_XMLExportFilter_idl__
+
+
+#ifndef __com_sun_star_document_ExportFilter_idl__
+#include <com/sun/star/document/ExportFilter.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module xml {
+
+//=============================================================================
+/** describes an export filter for XML-based file formats.
+
+ <p>It is an extension of <type scope="com::sun::star::document">ExportFilter</type>
+ and differs from it only in that an
+ <type scope="com::sun::star::xml::sax">XDocumentHandler</type> needs to
+ be passed through the XInitialization interface. This
+ XDocumentHandler will then be used to export the XML data stream. */
+published service XMLExportFilter
+{
+ /** An com.sun.star.xml.sax.XDocumentHandler needs to be passed to
+ the <method scope="com::sun::star::lang">XInitialization::initialize</method> call.
+ */
+ service com::sun::star::document::ExportFilter;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/xml/XMLImportFilter.idl b/offapi/com/sun/star/xml/XMLImportFilter.idl
new file mode 100644
index 000000000000..6e551859f720
--- /dev/null
+++ b/offapi/com/sun/star/xml/XMLImportFilter.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_XMLImportFilter_idl__
+#define __com_sun_star_xml_XMLImportFilter_idl__
+
+
+#ifndef __com_sun_star_document_ImportFilter_idl__
+#include <com/sun/star/document/ImportFilter.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_XDocumentHandler_idl__
+#include <com/sun/star/xml/sax/XDocumentHandler.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module xml {
+
+//=============================================================================
+/** describes an import filter for XML-based file formats.
+
+ <p>It is an extension of <type scope="com::sun::star::document">ImportFilter</type>
+ and differs from it in that this filter additionally supports the
+ <type scope="com::sun::star::xml::sax">XDocumentHandler</type> interface.
+*/
+published service XMLImportFilter
+{
+ /** This service supplied the basic filter functionality. */
+ service com::sun::star::document::ImportFilter;
+
+ /** The document handler is used to stream XML data into the filter. */
+ interface com::sun::star::xml::sax::XDocumentHandler;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/xml/crypto/SEInitializer.idl b/offapi/com/sun/star/xml/crypto/SEInitializer.idl
new file mode 100644
index 000000000000..bf947f5555d0
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/SEInitializer.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_seinitializer_idl_
+#define __com_sun_star_xml_crypto_seinitializer_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+#include <com/sun/star/xml/crypto/XSEInitializer.idl>
+
+#include <com/sun/star/lang/XServiceInfo.idl>
+
+module com { module sun { module star { module xml { module crypto {
+
+/**
+ * Service of SEInitializer
+ */
+service SEInitializer {
+ interface com::sun::star::xml::crypto::XSEInitializer ;
+ interface com::sun::star::lang::XServiceInfo ;
+};
+
+} ; } ; } ; } ; } ;
+
+
+#endif
+
diff --git a/offapi/com/sun/star/xml/crypto/SecurityEnvironment.idl b/offapi/com/sun/star/xml/crypto/SecurityEnvironment.idl
new file mode 100644
index 000000000000..395ef0fb9201
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/SecurityEnvironment.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_securityenvironment_idl_
+#define __com_sun_star_xml_crypto_securityenvironment_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+#include <com/sun/star/xml/crypto/XSecurityEnvironment.idl>
+
+#include <com/sun/star/lang/XUnoTunnel.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/lang/XServiceInfo.idl>
+
+module com { module sun { module star { module xml { module crypto {
+
+/**
+ * Service of XSecurityEnvironment
+ */
+service SecurityEnvironment {
+ interface com::sun::star::xml::crypto::XSecurityEnvironment ;
+ interface com::sun::star::lang::XInitialization ;
+ interface com::sun::star::lang::XUnoTunnel;
+ interface com::sun::star::lang::XServiceInfo ;
+} ;
+
+} ; } ; } ; } ; } ;
+
+
+#endif
+
diff --git a/offapi/com/sun/star/xml/crypto/SecurityOperationStatus.idl b/offapi/com/sun/star/xml/crypto/SecurityOperationStatus.idl
new file mode 100644
index 000000000000..f7f07658d6f5
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/SecurityOperationStatus.idl
@@ -0,0 +1,150 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_securityoperationstatus_idl_
+#define __com_sun_star_xml_crypto_securityoperationstatus_idl_
+
+module com { module sun { module star { module xml { module crypto {
+
+/**
+ * Defines results for security operation.
+ */
+enum SecurityOperationStatus
+{
+ UNKNOWN,
+ OPERATION_SUCCEEDED,
+ RUNTIMEERROR_FAILED,
+/**
+ * The following constants are derived from xmlsec error definations, as following:
+ *
+ * XMLSEC_ERRORS_R_XMLSEC_FAILED
+ * XMLSEC_ERRORS_R_MALLOC_FAILED
+ * XMLSEC_ERRORS_R_STRDUP_FAILED
+ * XMLSEC_ERRORS_R_CRYPTO_FAILED
+ * XMLSEC_ERRORS_R_XML_FAILED
+ * XMLSEC_ERRORS_R_XSLT_FAILED
+ * XMLSEC_ERRORS_R_IO_FAILED
+ * XMLSEC_ERRORS_R_DISABLED
+ * XMLSEC_ERRORS_R_NOT_IMPLEMENTED
+ * XMLSEC_ERRORS_R_INVALID_SIZE
+ * XMLSEC_ERRORS_R_INVALID_DATA
+ * XMLSEC_ERRORS_R_INVALID_RESULT
+ * XMLSEC_ERRORS_R_INVALID_TYPE
+ * XMLSEC_ERRORS_R_INVALID_OPERATION
+ * XMLSEC_ERRORS_R_INVALID_STATUS
+ * XMLSEC_ERRORS_R_INVALID_FORMAT
+ * XMLSEC_ERRORS_R_DATA_NOT_MATCH
+ * XMLSEC_ERRORS_R_INVALID_NODE
+ * XMLSEC_ERRORS_R_INVALID_NODE_CONTENT
+ * XMLSEC_ERRORS_R_INVALID_NODE_ATTRIBUTE
+ * XMLSEC_ERRORS_R_MISSING_NODE_ATTRIBUTE
+ * XMLSEC_ERRORS_R_NODE_ALREADY_PRESENT
+ * XMLSEC_ERRORS_R_UNEXPECTED_NODE
+ * XMLSEC_ERRORS_R_NODE_NOT_FOUND
+ * XMLSEC_ERRORS_R_INVALID_TRANSFORM
+ * XMLSEC_ERRORS_R_INVALID_TRANSFORM_KEY
+ * XMLSEC_ERRORS_R_INVALID_URI_TYPE
+ * XMLSEC_ERRORS_R_TRANSFORM_SAME_DOCUMENT_REQUIRED
+ * XMLSEC_ERRORS_R_TRANSFORM_DISABLED
+ * XMLSEC_ERRORS_R_INVALID_KEY_DATA
+ * XMLSEC_ERRORS_R_KEY_DATA_NOT_FOUND
+ * XMLSEC_ERRORS_R_KEY_DATA_ALREADY_EXIST
+ * XMLSEC_ERRORS_R_INVALID_KEY_DATA_SIZE
+ * XMLSEC_ERRORS_R_KEY_NOT_FOUND
+ * XMLSEC_ERRORS_R_KEYDATA_DISABLED
+ * XMLSEC_ERRORS_R_MAX_RETRIEVALS_LEVEL
+ * XMLSEC_ERRORS_R_MAX_RETRIEVAL_TYPE_MISMATCH
+ * XMLSEC_ERRORS_R_MAX_ENCKEY_LEVEL
+ * XMLSEC_ERRORS_R_CERT_VERIFY_FAILED
+ * XMLSEC_ERRORS_R_CERT_NOT_FOUND
+ * XMLSEC_ERRORS_R_CERT_REVOKED
+ * XMLSEC_ERRORS_R_CERT_ISSUER_FAILED
+ * XMLSEC_ERRORS_R_CERT_NOT_YET_VALID
+ * XMLSEC_ERRORS_R_CERT_HAS_EXPIRED
+ * XMLSEC_ERRORS_R_DSIG_NO_REFERENCES
+ * XMLSEC_ERRORS_R_DSIG_INVALID_REFERENCE
+ * XMLSEC_ERRORS_R_ASSERTION
+ * XMLSEC_ERRORS_MAX_NUMBER
+ */
+ ENGINE_FAILED,
+ MALLOC_FAILED,
+ STRDUP_FAILED,
+ CRYPTO_FAILED,
+ XML_FAILED,
+ XSLT_FAILED,
+ IO_FAILED,
+ DISABLED,
+ NOT_IMPLEMENTED,
+ INVALID_SIZE,
+ INVALID_DATA,
+ INVALID_RESULT,
+ INVALID_TYPE,
+ INVALID_OPERATION,
+ INVALID_STATUS,
+ INVALID_FORMAT,
+ DATA_NOT_MATCH,
+ INVALID_NODE,
+ INVALID_NODE_CONTENT,
+ INVALID_NODE_ATTRIBUTE,
+ MISSING_NODE_ATTRIBUTE,
+ NODE_ALREADY_PRESENT,
+ UNEXPECTED_NODE,
+ NODE_NOT_FOUND,
+ INVALID_TRANSFORM,
+ INVALID_TRANSFORM_KEY,
+ INVALID_URI_TYPE,
+ TRANSFORM_SAME_DOCUMENT_REQUIRED,
+ TRANSFORM_DISABLED,
+ INVALID_KEY_DATA,
+ KEY_DATA_NOT_FOUND,
+ KEY_DATA_ALREADY_EXIST,
+ INVALID_KEY_DATA_SIZE,
+ KEY_NOT_FOUND,
+ KEYDATA_DISABLED,
+ MAX_RETRIEVALS_LEVEL,
+ MAX_RETRIEVAL_TYPE_MISMATCH,
+ MAX_ENCKEY_LEVEL,
+ CERT_VERIFY_FAILED,
+ CERT_NOT_FOUND,
+ CERT_REVOKED,
+ CERT_ISSUER_FAILED,
+ CERT_NOT_YET_VALID,
+ CERT_HAS_EXPIRED,
+ DSIG_NO_REFERENCES,
+ DSIG_INVALID_REFERENCE,
+ ASSERTION
+};
+
+} ; } ; } ; } ; } ;
+
+
+#endif
+
diff --git a/offapi/com/sun/star/xml/crypto/XMLEncryption.idl b/offapi/com/sun/star/xml/crypto/XMLEncryption.idl
new file mode 100644
index 000000000000..7dc93ed7497d
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/XMLEncryption.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_xmlencryption_idl_
+#define __com_sun_star_xml_crypto_xmlencryption_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+#include <com/sun/star/xml/crypto/XXMLEncryption.idl>
+
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/lang/XServiceInfo.idl>
+
+module com { module sun { module star { module xml { module crypto {
+
+/**
+ * Service of XMLEncryption
+ */
+service XMLEncryption {
+ interface com::sun::star::xml::crypto::XXMLEncryption ;
+ interface com::sun::star::lang::XInitialization ;
+ interface com::sun::star::lang::XServiceInfo ;
+} ;
+
+} ; } ; } ; } ; } ;
+
+#endif
+
diff --git a/offapi/com/sun/star/xml/crypto/XMLEncryptionException.idl b/offapi/com/sun/star/xml/crypto/XMLEncryptionException.idl
new file mode 100644
index 000000000000..21b5b9beb618
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/XMLEncryptionException.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_XMLEncryptionException_idl__
+#define __com_sun_star_xml_crypto_XMLEncryptionException_idl__
+
+#ifndef __com_sun_star_security_EncryptionException_idl__
+#include <com/sun/star/security/EncryptionException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module xml { module crypto {
+
+//=============================================================================
+
+exception XMLEncryptionException : com::sun::star::security::EncryptionException
+{
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/xml/crypto/XMLEncryptionTemplate.idl b/offapi/com/sun/star/xml/crypto/XMLEncryptionTemplate.idl
new file mode 100644
index 000000000000..694e4ed56f9b
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/XMLEncryptionTemplate.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_xmlencryptiontemplate_idl_
+#define __com_sun_star_xml_crypto_xmlencryptiontemplate_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+#include <com/sun/star/xml/crypto/XXMLEncryptionTemplate.idl>
+
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/lang/XServiceInfo.idl>
+
+module com { module sun { module star { module xml { module crypto {
+
+/**
+ * Service of XMLEncryptionTemplate
+ */
+service XMLEncryptionTemplate {
+ interface com::sun::star::xml::crypto::XXMLEncryptionTemplate ;
+ interface com::sun::star::lang::XInitialization ;
+ interface com::sun::star::lang::XServiceInfo ;
+} ;
+
+
+} ; } ; } ; } ; } ;
+
+#endif
+
diff --git a/offapi/com/sun/star/xml/crypto/XMLSecurityContext.idl b/offapi/com/sun/star/xml/crypto/XMLSecurityContext.idl
new file mode 100644
index 000000000000..c047e8ae45be
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/XMLSecurityContext.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_xmlsecuritycontext_idl_
+#define __com_sun_star_xml_crypto_xmlsecuritycontext_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+#include <com/sun/star/xml/crypto/XXMLSecurityContext.idl>
+
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/lang/XServiceInfo.idl>
+
+module com { module sun { module star { module xml { module crypto {
+
+/**
+ * Service of XMLSecurityContext
+ */
+service XMLSecurityContext {
+ interface com::sun::star::xml::crypto::XXMLSecurityContext ;
+ interface com::sun::star::lang::XInitialization ;
+ interface com::sun::star::lang::XServiceInfo ;
+} ;
+
+} ; } ; } ; } ; } ;
+
+
+#endif
+
diff --git a/offapi/com/sun/star/xml/crypto/XMLSignature.idl b/offapi/com/sun/star/xml/crypto/XMLSignature.idl
new file mode 100644
index 000000000000..1153b7bb9c8f
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/XMLSignature.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_xmlsignature_idl_
+#define __com_sun_star_xml_crypto_xmlsignature_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+#include <com/sun/star/xml/crypto/XXMLSignature.idl>
+
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/lang/XServiceInfo.idl>
+
+module com { module sun { module star { module xml { module crypto {
+
+/**
+ * Service of XMLSignature
+ */
+service XMLSignature {
+ interface com::sun::star::xml::crypto::XXMLSignature ;
+ interface com::sun::star::lang::XInitialization ;
+ interface com::sun::star::lang::XServiceInfo ;
+} ;
+
+} ; } ; } ; } ; } ;
+
+
+#endif
+
diff --git a/offapi/com/sun/star/xml/crypto/XMLSignatureException.idl b/offapi/com/sun/star/xml/crypto/XMLSignatureException.idl
new file mode 100644
index 000000000000..87d2d0ba05a4
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/XMLSignatureException.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_XMLSignatureException_idl__
+#define __com_sun_star_xml_crypto_XMLSignatureException_idl__
+
+#ifndef __com_sun_star_security_SignatureException_idl__
+#include <com/sun/star/security/SignatureException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module xml { module crypto {
+
+//=============================================================================
+
+exception XMLSignatureException : com::sun::star::security::SignatureException
+{
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/xml/crypto/XMLSignatureTemplate.idl b/offapi/com/sun/star/xml/crypto/XMLSignatureTemplate.idl
new file mode 100644
index 000000000000..3a4971e12ba1
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/XMLSignatureTemplate.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_xmlsignaturetemplate_idl_
+#define __com_sun_star_xml_crypto_xmlsignaturetemplate_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+#include <com/sun/star/xml/crypto/XXMLSignatureTemplate.idl>
+
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/lang/XServiceInfo.idl>
+
+module com { module sun { module star { module xml { module crypto {
+
+/**
+ * Service of XMLSignatureTemplate
+ */
+service XMLSignatureTemplate {
+ interface com::sun::star::xml::crypto::XXMLSignatureTemplate ;
+ interface com::sun::star::lang::XInitialization ;
+ interface com::sun::star::lang::XServiceInfo ;
+} ;
+
+} ; } ; } ; } ; } ;
+
+
+#endif
+
diff --git a/offapi/com/sun/star/xml/crypto/XSEInitializer.idl b/offapi/com/sun/star/xml/crypto/XSEInitializer.idl
new file mode 100644
index 000000000000..5d41d3a03575
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/XSEInitializer.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_xseinitializer_idl_
+#define __com_sun_star_xml_crypto_xseinitializer_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module xml { module crypto {
+
+interface XXMLSecurityContext;
+
+/**
+ * Interface to manipulate Security Environment
+ */
+interface XSEInitializer : com::sun::star::uno::XInterface
+{
+ /**
+ * Creates a security context.
+ *
+ * @param certificateDatabase the file or directory of the key materials
+ * @return the security context created
+ */
+ com::sun::star::xml::crypto::XXMLSecurityContext createSecurityContext(
+ [in] string certificateDatabase);
+
+ /**
+ * Frees a security context.
+ *
+ * @param securityContext the security context to be freed
+ */
+ void freeSecurityContext([in] com::sun::star::xml::crypto::XXMLSecurityContext securityContext);
+};
+
+} ; } ; } ; } ; } ;
+
+
+#endif
+
diff --git a/offapi/com/sun/star/xml/crypto/XSecurityEnvironment.idl b/offapi/com/sun/star/xml/crypto/XSecurityEnvironment.idl
new file mode 100644
index 000000000000..2a22282be54c
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/XSecurityEnvironment.idl
@@ -0,0 +1,122 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_xsecurityenvironment_idl_
+#define __com_sun_star_xml_crypto_xsecurityenvironment_idl_
+
+#ifndef __com_sun_star_uno_SecurityException_idl__
+#include <com/sun/star/uno/SecurityException.idl>
+#endif
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+#include <com/sun/star/security/XCertificate.idl>
+#include <com/sun/star/security/CertificateCharacters.idl>
+#include <com/sun/star/security/CertificateValidity.idl>
+
+module com { module sun { module star { module xml { module crypto {
+
+/**
+ * Interface of Security Environment
+ */
+interface XSecurityEnvironment : com::sun::star::uno::XInterface
+{
+ /**
+ * Get personal certificate from the environment
+ */
+ sequence< com::sun::star::security::XCertificate > getPersonalCertificates() raises( com::sun::star::uno::SecurityException ) ;
+
+ /**
+ * Get certificate from the environment by issuer name and serial number
+ */
+ com::sun::star::security::XCertificate getCertificate( [in] string issuerName, [in] sequence< byte > serialNumber ) raises( com::sun::star::uno::SecurityException ) ;
+
+ /**
+ * build certificate path from a certain certificate
+ */
+ sequence< com::sun::star::security::XCertificate > buildCertificatePath( [in] com::sun::star::security::XCertificate beginCert ) raises( com::sun::star::uno::SecurityException ) ;
+
+ /**
+ * Create certificate interface from raw DER encoded certificate
+ */
+ com::sun::star::security::XCertificate createCertificateFromRaw( [in] sequence< byte > rawCertificate ) raises( com::sun::star::uno::SecurityException ) ;
+
+ /**
+ * Create certificate interface from a BASE64 encoded certificate.
+ */
+ com::sun::star::security::XCertificate createCertificateFromAscii( [in] string asciiCertificate ) raises( com::sun::star::uno::SecurityException ) ;
+
+ /**
+ Verify a certificate.
+
+ The method provides a way to verify a certificate.
+ @param xEECertificate
+ The certificate which is to be validated.
+
+ @param intermediateCertificates
+ Additional certificates which can be used by the method in constructing
+ the certificate chain. The root certificate may also be contained. However,
+ the implementation must check if the root certificate is indeed trusted by
+ the user.
+ All entries of the sequence must be non-null references.
+
+ @return
+ The validation status will returned as a bit-wise long, please refer to
+ CertificateValidity definition.
+ */
+ long verifyCertificate( [in] com::sun::star::security::XCertificate xEECertificate,
+ [in] sequence< com::sun::star::security::XCertificate > intermediateCertificates)
+ raises( com::sun::star::uno::SecurityException ) ;
+
+ /**
+ * Get a certificate characters.
+ *
+ * The method provides a way to get certificate characters like:
+ * 1. Whether or not the certificate have a private key in the user profile.
+ * 2. Whether or not the certificate is a trusted certificate.
+ * 3. Whether or not the certificate is a self-signed certificate.
+ *
+ * The certificate characters is defined as bit-wise long, please refer to
+ * CertificateCharacters definition.
+ */
+ long getCertificateCharacters( [in] com::sun::star::security::XCertificate xCertificate ) raises( com::sun::star::uno::SecurityException ) ;
+
+ /**
+ * Get the Environment detail infos
+ */
+ string getSecurityEnvironmentInformation ( );
+
+} ;
+
+} ; } ; } ; } ; } ;
+
+#endif
+
diff --git a/offapi/com/sun/star/xml/crypto/XUriBinding.idl b/offapi/com/sun/star/xml/crypto/XUriBinding.idl
new file mode 100644
index 000000000000..8d1609ff80e7
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/XUriBinding.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_xuribinding_idl_
+#define __com_sun_star_xml_crypto_xuribinding_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+#include <com/sun/star/io/XInputStream.idl>
+
+module com { module sun { module star { module xml { module crypto {
+
+/**
+ * Interface of Uri Binding.
+ * <p>
+ * This interface is used to dynamically bind a uri with a
+ * XInputStream interface.
+ */
+interface XUriBinding : com::sun::star::uno::XInterface
+{
+ /**
+ * Sets the XInputStream interface for a uri.
+ *
+ * @param uri the uri to bind
+ * @param aStream the XInputStream to be binded
+ */
+ void setUriBinding([in] string uri, [in] com::sun::star::io::XInputStream aInputStream)
+ raises( com::sun::star::uno::Exception );
+
+ /**
+ * Gets the XInputStream interface for a uri.
+ *
+ * @param uri the uri whose binding is to get
+ * @return the XInputStream binded with the uri
+ */
+ com::sun::star::io::XInputStream getUriBinding([in] string uri)
+ raises( com::sun::star::uno::Exception );
+};
+
+} ; } ; } ; } ; } ;
+
+
+#endif
+
diff --git a/offapi/com/sun/star/xml/crypto/XXMLEncryption.idl b/offapi/com/sun/star/xml/crypto/XXMLEncryption.idl
new file mode 100644
index 000000000000..5788b0482349
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/XXMLEncryption.idl
@@ -0,0 +1,87 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_xxmlencryption_idl_
+#define __com_sun_star_xml_crypto_xxmlencryption_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+#include <com/sun/star/uno/SecurityException.idl>
+
+#include <com/sun/star/xml/crypto/XXMLEncryptionTemplate.idl>
+#include <com/sun/star/xml/wrapper/XXMLElementWrapper.idl>
+#include <com/sun/star/xml/crypto/XXMLSecurityContext.idl>
+#include <com/sun/star/xml/crypto/XMLEncryptionException.idl>
+
+
+module com { module sun { module star { module xml { module crypto {
+
+/**
+ * Interface of XML encryption
+ *
+ * <p>This interface represents a xml encrypter or decrypter.</p>
+ *
+ * <p>The encrypter or decrypter concrete a key by retrieve security context
+ * and encryption template.</p>
+ *
+ * <p>In some cases, the encrypter or decrypter can dertermine and locate the
+ * EncrytedKey from the encryption template by dereference the RetrievalMethod
+ * inside EncryptedData.</p>
+ *
+ * <p>In some cases, the EncryptedKey need to be clearly pointed out by the
+ * encryption template.</p>
+ */
+interface XXMLEncryption : com::sun::star::uno::XInterface
+{
+ /**
+ * Perform encryption in the environment of encryption template and context.
+ */
+ com::sun::star::xml::crypto::XXMLEncryptionTemplate encrypt(
+ [in] com::sun::star::xml::crypto::XXMLEncryptionTemplate aTemplate ,
+ [in] com::sun::star::xml::crypto::XSecurityEnvironment aEnvironment
+ ) raises( com::sun::star::xml::crypto::XMLEncryptionException ,
+ com::sun::star::uno::SecurityException ) ;
+
+ /**
+ * Perform decryption in the environment of encrytpion template and context.
+ */
+ com::sun::star::xml::crypto::XXMLEncryptionTemplate decrypt(
+ [in] com::sun::star::xml::crypto::XXMLEncryptionTemplate aTemplate ,
+ [in] com::sun::star::xml::crypto::XXMLSecurityContext aContext
+ ) raises( com::sun::star::xml::crypto::XMLEncryptionException ,
+ com::sun::star::uno::SecurityException ) ;
+} ;
+
+} ; } ; } ; } ; } ;
+
+
+#endif
+
diff --git a/offapi/com/sun/star/xml/crypto/XXMLEncryptionTemplate.idl b/offapi/com/sun/star/xml/crypto/XXMLEncryptionTemplate.idl
new file mode 100644
index 000000000000..c2ec51908fb6
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/XXMLEncryptionTemplate.idl
@@ -0,0 +1,97 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_xxmlencryptiontemplate_idl_
+#define __com_sun_star_xml_crypto_xxmlencryptiontemplate_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+#include <com/sun/star/xml/wrapper/XXMLElementWrapper.idl>
+#include <com/sun/star/xml/crypto/XXMLSecurityTemplate.idl>
+
+module com { module sun { module star { module xml { module crypto {
+
+/**
+ * Interface of XML encryption template
+ *
+ * <p>This interface represents a encryption template, which is the same as the
+ * desired xml encryption element[ EncryptedType ] but some of the nodes may be
+ * empty. The empty entities include CipherValue, which is a subset of
+ * EncryptedData or EncryptedKey. Empty entities are not allowed in a encryption
+ * template when performing decryption.</p>
+ *
+ * <p>In some cases, the encrypter or decrypter can dertermine and locate the
+ * EncrytedKey from the encryption template by dereference the RetrievalMethod
+ * inside EncryptedData.</p>
+ *
+ * <p>In some cases, the EncryptedKey need to be clearly pointed out by the
+ * encryption template.</p>
+ *
+ * <p>With the help of encryption context, the encrypter or decrypter specifies
+ * the key from the KeyInfo in the encryption template.</p>
+ *
+ *
+ * <p>It isn't a good method to set the EncryptedKey here. In general, there is
+ * a RetrievalMethod in EncryptedData by which we can get the EncryptedKey.
+ *
+ * And some times, in the low level, it is hard to determine what the key is
+ * except that the high level application tell the mechanism and parameters.
+ *
+ * So I think it will be more simple that the application set the encrypted key
+ * information. In this case, the application only need to know the xml schema
+ * or DTD and the encryption device. If so, the high level application takes the
+ * action of build the EncryptedKey template and references it in the element of
+ * EncryptedData. And in this case, the calling to set up EncryptedKey template
+ * and target is not necessary, because the encrypter or decrypter can determine
+ * and locate the EncrypedKet from the encryption template of EncryptedData by
+ * dereference the RetrievalMethod.
+ *
+ * In some situation, the high level applications do not want to know anything
+ * about crypto devices( May be he must, because the lower level do not know
+ * what the key is ). If it gives the key value, it can get EncryptedKey by
+ * setting the key template and key value target.</p>
+ */
+interface XXMLEncryptionTemplate : XXMLSecurityTemplate
+{
+ /**
+ * Get the target xml element, i.e. the element to be encrypted
+ */
+ com::sun::star::xml::wrapper::XXMLElementWrapper getTarget(
+ ) ;
+} ;
+
+
+} ; } ; } ; } ; } ;
+
+
+#endif
+
diff --git a/offapi/com/sun/star/xml/crypto/XXMLSecurityContext.idl b/offapi/com/sun/star/xml/crypto/XXMLSecurityContext.idl
new file mode 100644
index 000000000000..6e08c6dee3b0
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/XXMLSecurityContext.idl
@@ -0,0 +1,87 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_xxmlsecuritycontext_idl_
+#define __com_sun_star_xml_crypto_xxmlsecuritycontext_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/security/SecurityInfrastructureException.idl>
+
+#include <com/sun/star/xml/crypto/XSecurityEnvironment.idl>
+
+module com { module sun { module star { module xml { module crypto {
+
+/**
+ * Interface of XML security context
+ *
+ * <p>This interface specifies a certain signature context. By signature
+ * context, the signer or verifier retrieves key specification.</p>
+ */
+interface XXMLSecurityContext : com::sun::star::uno::XInterface
+{
+ /**
+ * Add personal security environment , and return the index of the added env.
+ */
+ long addSecurityEnvironment( [in] XSecurityEnvironment aSecurityEnvironment
+ ) raises( com::sun::star::security::SecurityInfrastructureException ) ;
+
+ /**
+ * Get the number of security environments
+ */
+ long getSecurityEnvironmentNumber( ) ;
+
+ /**
+ * Get personal security environment
+ */
+ com::sun::star::xml::crypto::XSecurityEnvironment getSecurityEnvironmentByIndex([in] long index ) ;
+
+ /**
+ * An handy method to get the first personal security environment.
+ * In xmlsec/nss, the first personal security environment should be the "internal slot"
+ */
+ com::sun::star::xml::crypto::XSecurityEnvironment getSecurityEnvironment( ) ;
+
+ /**
+ * Get the ID of the internal security environment
+ */
+ long getDefaultSecurityEnvironmentIndex( ) ;
+
+ /**
+ * set the ID of the internal security environment
+ */
+ void setDefaultSecurityEnvironmentIndex([in] long index ) ;
+
+} ;
+
+} ; } ; } ; } ; } ;
+
+#endif
+
diff --git a/offapi/com/sun/star/xml/crypto/XXMLSecurityTemplate.idl b/offapi/com/sun/star/xml/crypto/XXMLSecurityTemplate.idl
new file mode 100644
index 000000000000..bff443796200
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/XXMLSecurityTemplate.idl
@@ -0,0 +1,89 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_xxmlsecuritytemplate_idl_
+#define __com_sun_star_xml_crypto_xxmlsecuritytemplate_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+#include <com/sun/star/xml/wrapper/XXMLElementWrapper.idl>
+#include <com/sun/star/xml/crypto/XUriBinding.idl>
+#include <com/sun/star/xml/crypto/SecurityOperationStatus.idl>
+
+module com { module sun { module star { module xml { module crypto {
+
+/**
+ * Interface of the XML security template
+ *
+ * <p>This interface represents a security template, which is the super interface
+ * of the XXMLSignatureTemplate interface and the XXMLEncryptionTemplate interface.
+ */
+interface XXMLSecurityTemplate : com::sun::star::uno::XInterface
+{
+ /**
+ * Load a XML signature template from xml signature element
+ */
+ void setTemplate(
+ [in] com::sun::star::xml::wrapper::XXMLElementWrapper aXmlElement
+ ) raises( com::sun::star::lang::IllegalArgumentException ) ;
+
+ /**
+ * Get the XML signature element that represents the signature template
+ */
+ com::sun::star::xml::wrapper::XXMLElementWrapper getTemplate(
+ ) ;
+
+ /**
+ * Load the target xml element, i.e. the element to be signed
+ */
+ void setTarget(
+ [in] com::sun::star::xml::wrapper::XXMLElementWrapper aXmlElement
+ ) raises( com::sun::star::lang::IllegalArgumentException ) ;
+
+ /**
+ * Set the template status
+ */
+ void setStatus(
+ [in] SecurityOperationStatus status
+ ) raises( com::sun::star::lang::IllegalArgumentException ) ;
+
+ /**
+ * Get the template status
+ */
+ SecurityOperationStatus getStatus( ) ;
+} ;
+
+} ; } ; } ; } ; } ;
+
+
+#endif
+
diff --git a/offapi/com/sun/star/xml/crypto/XXMLSignature.idl b/offapi/com/sun/star/xml/crypto/XXMLSignature.idl
new file mode 100644
index 000000000000..fc61c07d17d3
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/XXMLSignature.idl
@@ -0,0 +1,88 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_xxmlsignature_idl_
+#define __com_sun_star_xml_crypto_xxmlsignature_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/SecurityException.idl>
+
+#include <com/sun/star/xml/crypto/XXMLSignatureTemplate.idl>
+#include <com/sun/star/xml/crypto/XXMLSecurityContext.idl>
+#include <com/sun/star/xml/crypto/XMLSignatureException.idl>
+
+module com { module sun { module star { module xml { module crypto {
+
+/**
+ * Interface of XML signature
+ *
+ * <p>This interface represents a xml signer or vertifier.</p>
+ *
+ * <p>The signer or vertifier concrete a key by retrieve signature context and
+ * signature template.</p>
+ *
+ * <p>In some cases, the signer or vertifier can dertermine and locate the
+ * contents to be signed from the signature template by dereference the URI.</p>
+ *
+ * <p>In some cases, the contents to be signed need to be clearly pointed out by
+ * the signature template.</p>
+ */
+interface XXMLSignature : com::sun::star::uno::XInterface
+{
+ /**
+ * Perform signature in the environment of signature template and context.
+ */
+ com::sun::star::xml::crypto::XXMLSignatureTemplate generate(
+ [in] com::sun::star::xml::crypto::XXMLSignatureTemplate aTemplate ,
+ [in] com::sun::star::xml::crypto::XSecurityEnvironment aEnvironment
+ ) raises( com::sun::star::xml::crypto::XMLSignatureException ,
+ com::sun::star::uno::SecurityException ) ;
+
+ /**
+ * Perform validation in the environment of signature template and context.
+ */
+ com::sun::star::xml::crypto::XXMLSignatureTemplate validate(
+ [in] com::sun::star::xml::crypto::XXMLSignatureTemplate aTemplate ,
+ [in] com::sun::star::xml::crypto::XXMLSecurityContext aContext
+ ) raises( com::sun::star::xml::crypto::XMLSignatureException ,
+ com::sun::star::uno::SecurityException ) ;
+
+ /**
+ * get the time used by the engine, JSR105,
+ * this method is used for evaluation.
+ */
+ /*
+ hyper getEngineTime([in] long id);
+ */
+};
+
+} ; } ; } ; } ; } ;
+#endif
diff --git a/offapi/com/sun/star/xml/crypto/XXMLSignatureTemplate.idl b/offapi/com/sun/star/xml/crypto/XXMLSignatureTemplate.idl
new file mode 100644
index 000000000000..08098a8d590d
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/XXMLSignatureTemplate.idl
@@ -0,0 +1,85 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_xxmlsignaturetemplate_idl_
+#define __com_sun_star_xml_crypto_xxmlsignaturetemplate_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+#include <com/sun/star/xml/wrapper/XXMLElementWrapper.idl>
+#include <com/sun/star/xml/crypto/XUriBinding.idl>
+#include <com/sun/star/xml/crypto/XXMLSecurityTemplate.idl>
+
+module com { module sun { module star { module xml { module crypto {
+
+/**
+ * Interface of XML signature template
+ *
+ * <p>This interface represents a signature template, which is the same as the
+ * desired xml signature element but some of the nodes may be empty. The empty
+ * entities include digest value and signature value. Empty entities are not
+ * allowed in a signature template when performing validation.</p>
+ *
+ * <p>In some cases, the signer or vertifier can dertermine and locate the
+ * contents to be signed from the template by dereference the URI.</p>
+ *
+ * <p>With the help of signature context, the signer or verifier specifies the
+ * key from the KeyInfo in the signature template.</p>
+ *
+ * Owner: Andrew Fan
+ */
+interface XXMLSignatureTemplate : XXMLSecurityTemplate
+{
+ /**
+ * Get the target xml element, i.e. the element to be signed
+ */
+ sequence< com::sun::star::xml::wrapper::XXMLElementWrapper > getTargets(
+ ) ;
+
+ /**
+ * Set the dynamic URI binding
+ */
+ void setBinding(
+ [in] com::sun::star::xml::crypto::XUriBinding aUriBinding
+ ) raises( com::sun::star::lang::IllegalArgumentException ) ;
+
+ /**
+ * Get the dynamic URI binding
+ */
+ com::sun::star::xml::crypto::XUriBinding getBinding( ) ;
+} ;
+
+} ; } ; } ; } ; } ;
+
+
+#endif
+
diff --git a/offapi/com/sun/star/xml/crypto/makefile.mk b/offapi/com/sun/star/xml/crypto/makefile.mk
new file mode 100644
index 000000000000..4aa3957ac418
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/makefile.mk
@@ -0,0 +1,66 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+#i20156 - new file for xmlsecurity module
+
+PRJ=..$/..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=xsec-crypto
+PACKAGE=com$/sun$/star$/xml$/crypto
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ XXMLSecurityTemplate.idl \
+ XXMLSignature.idl \
+ XXMLSignatureTemplate.idl \
+ XXMLEncryption.idl \
+ XXMLEncryptionTemplate.idl \
+ XXMLSecurityContext.idl \
+ XSecurityEnvironment.idl \
+ XSEInitializer.idl \
+ XMLSignature.idl \
+ XMLSignatureTemplate.idl \
+ XMLEncryption.idl \
+ XMLEncryptionTemplate.idl \
+ XMLSecurityContext.idl \
+ SecurityEnvironment.idl \
+ SEInitializer.idl \
+ XMLSignatureException.idl \
+ XMLEncryptionException.idl \
+ XUriBinding.idl \
+ SecurityOperationStatus.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/xml/crypto/sax/Decryptor.idl b/offapi/com/sun/star/xml/crypto/sax/Decryptor.idl
new file mode 100644
index 000000000000..6b8323b19893
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/Decryptor.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_sax_decryptor_idl_
+#define __com_sun_star_xml_crypto_sax_decryptor_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/lang/XServiceInfo.idl>
+
+#include "XReferenceResolvedListener.idl"
+#include "XBlockerMonitor.idl"
+#include "XDecryptionResultBroadcaster.idl"
+#include "XKeyCollector.idl"
+#include "XMissionTaker.idl"
+
+module com { module sun { module star { module xml { module crypto { module sax {
+
+/**
+ * Service of Decryptor
+ */
+service Decryptor {
+ interface XReferenceResolvedListener ;
+ interface XBlockerMonitor ;
+ interface XDecryptionResultBroadcaster ;
+ interface XKeyCollector ;
+ interface XMissionTaker ;
+ interface com::sun::star::lang::XInitialization ;
+ interface com::sun::star::lang::XServiceInfo ;
+};
+
+} ; } ; } ; } ; } ; } ;
+
+
+#endif
+
diff --git a/offapi/com/sun/star/xml/crypto/sax/Encryptor.idl b/offapi/com/sun/star/xml/crypto/sax/Encryptor.idl
new file mode 100644
index 000000000000..82d32ebfbae1
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/Encryptor.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_sax_encryptor_idl_
+#define __com_sun_star_xml_crypto_sax_encryptor_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/lang/XServiceInfo.idl>
+
+#include "XReferenceResolvedListener.idl"
+#include "XReferenceCollector.idl"
+#include "XBlockerMonitor.idl"
+#include "XEncryptionResultBroadcaster.idl"
+#include "XKeyCollector.idl"
+#include "XMissionTaker.idl"
+
+module com { module sun { module star { module xml { module crypto { module sax {
+
+/**
+ * Service of Encryptor
+ */
+service Encryptor {
+ interface XReferenceResolvedListener ;
+ interface XReferenceCollector ;
+ interface XBlockerMonitor ;
+ interface XEncryptionResultBroadcaster ;
+ interface XKeyCollector ;
+ interface XMissionTaker ;
+ interface com::sun::star::lang::XInitialization ;
+ interface com::sun::star::lang::XServiceInfo ;
+};
+
+} ; } ; } ; } ; } ; } ;
+
+
+#endif
+
diff --git a/offapi/com/sun/star/xml/crypto/sax/SAXEventKeeper.idl b/offapi/com/sun/star/xml/crypto/sax/SAXEventKeeper.idl
new file mode 100644
index 000000000000..0a70aac82c80
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/SAXEventKeeper.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_sax_saxeventkeeper_idl_
+#define __com_sun_star_xml_crypto_sax_saxeventkeeper_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+#include <com/sun/star/xml/sax/XDocumentHandler.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/lang/XServiceInfo.idl>
+
+#include "XSecuritySAXEventKeeper.idl"
+#include "XReferenceResolvedBroadcaster.idl"
+#include "XSAXEventKeeperStatusChangeBroadcaster.idl"
+
+module com { module sun { module star { module xml { module crypto { module sax {
+
+/**
+ * Service of SAXEventKeeper
+ */
+service SAXEventKeeper {
+ interface XSecuritySAXEventKeeper ;
+ interface XReferenceResolvedBroadcaster ;
+ interface XSAXEventKeeperStatusChangeBroadcaster ;
+ interface com::sun::star::xml::sax::XDocumentHandler ;
+ interface com::sun::star::lang::XInitialization ;
+ interface com::sun::star::lang::XServiceInfo ;
+};
+
+} ; } ; } ; } ; } ; } ;
+
+
+#endif
+
diff --git a/offapi/com/sun/star/xml/crypto/sax/SignatureCreator.idl b/offapi/com/sun/star/xml/crypto/sax/SignatureCreator.idl
new file mode 100644
index 000000000000..6660008a6d04
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/SignatureCreator.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+ //i20156 - new file for xmlsecurity module
+
+ /** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_sax_signaturecreator_idl_
+#define __com_sun_star_xml_crypto_sax_signaturecreator_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/lang/XServiceInfo.idl>
+
+#include <com/sun/star/xml/crypto/XUriBinding.idl>
+
+#include "XReferenceResolvedListener.idl"
+#include "XReferenceCollector.idl"
+#include "XSignatureCreationResultBroadcaster.idl"
+#include "XBlockerMonitor.idl"
+#include "XKeyCollector.idl"
+#include "XMissionTaker.idl"
+
+module com { module sun { module star { module xml { module crypto { module sax {
+
+/*
+ * * Service of SignatureCreator
+ */
+
+service SignatureCreator
+{
+ interface XReferenceResolvedListener ;
+ interface XReferenceCollector ;
+ interface XSignatureCreationResultBroadcaster ;
+ interface XBlockerMonitor ;
+ interface XKeyCollector ;
+ interface XMissionTaker ;
+ interface com::sun::star::xml::crypto::XUriBinding;
+ interface com::sun::star::lang::XInitialization ;
+ interface com::sun::star::lang::XServiceInfo ;
+} ; } ; } ; } ; } ; } ; } ;
+
+#endif
diff --git a/offapi/com/sun/star/xml/crypto/sax/SignatureVerifier.idl b/offapi/com/sun/star/xml/crypto/sax/SignatureVerifier.idl
new file mode 100644
index 000000000000..b3355e2e98b4
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/SignatureVerifier.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_sax_signatureverifier_idl_
+#define __com_sun_star_xml_crypto_sax_signatureverifier_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/lang/XServiceInfo.idl>
+
+#include <com/sun/star/xml/crypto/XUriBinding.idl>
+
+#include "XReferenceResolvedListener.idl"
+#include "XReferenceCollector.idl"
+#include "XSignatureVerifyResultBroadcaster.idl"
+#include "XKeyCollector.idl"
+#include "XMissionTaker.idl"
+
+module com { module sun { module star { module xml { module crypto { module sax {
+
+/**
+ * Service of SignatureVerifier
+ */
+service SignatureVerifier {
+ interface XReferenceResolvedListener ;
+ interface XReferenceCollector ;
+ interface XSignatureVerifyResultBroadcaster ;
+ interface XKeyCollector ;
+ interface XMissionTaker ;
+ interface com::sun::star::xml::crypto::XUriBinding;
+ interface com::sun::star::lang::XInitialization ;
+ interface com::sun::star::lang::XServiceInfo ;
+};
+
+ } ; } ; } ; } ; } ; } ;
+
+
+#endif
+
diff --git a/offapi/com/sun/star/xml/crypto/sax/XBlockerMonitor.idl b/offapi/com/sun/star/xml/crypto/sax/XBlockerMonitor.idl
new file mode 100644
index 000000000000..07cec12ad824
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XBlockerMonitor.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_sax_xblockermonitor_idl_
+#define __com_sun_star_xml_crypto_sax_xblockermonitor_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module xml { module crypto { module sax {
+
+/**
+ * Interface of Blocker Monitor.
+ * <p>
+ * This interface is used to manipulate a blocker.
+ */
+interface XBlockerMonitor : com::sun::star::uno::XInterface
+{
+ /**
+ * Configures the blocker's id.
+ *
+ * @param id the keeper id of the blocker
+ */
+ void setBlockerId([in] long id)
+ raises( com::sun::star::uno::Exception );
+};
+
+} ; } ; } ; } ; } ; } ;
+
+
+#endif
+
diff --git a/offapi/com/sun/star/xml/crypto/sax/XDecryptionResultBroadcaster.idl b/offapi/com/sun/star/xml/crypto/sax/XDecryptionResultBroadcaster.idl
new file mode 100644
index 000000000000..be29d4ee49fd
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XDecryptionResultBroadcaster.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_sax_xdecryptionresultbroadcaster_idl_
+#define __com_sun_star_xml_crypto_sax_xdecryptionresultbroadcaster_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module xml { module crypto { module sax {
+
+interface XDecryptionResultListener;
+
+/**
+ * Interface of Decryption Result Broadcaster.
+ * <p>
+ * This interface is used to manipulate decryption result listener.
+ */
+interface XDecryptionResultBroadcaster : com::sun::star::uno::XInterface
+{
+ /**
+ * Adds a new decryption result listener.
+ * <p>
+ * When the decryption is finished, the result information will be sent to this
+ * listener.
+ *
+ * @param listener the listener to be added
+ */
+ void addDecryptionResultListener(
+ [in] XDecryptionResultListener listener)
+ raises( com::sun::star::uno::Exception );
+
+ /**
+ * Removes a decryption result listener.
+ * <p>
+ * After a listener is removed, no result information will be sent to it.
+ *
+ * @param listener the listener to be removed
+ */
+ void removeDecryptionResultListener([in] XDecryptionResultListener listener);
+};
+
+} ; } ; } ; } ; } ; } ;
+
+
+#endif
+
diff --git a/offapi/com/sun/star/xml/crypto/sax/XDecryptionResultListener.idl b/offapi/com/sun/star/xml/crypto/sax/XDecryptionResultListener.idl
new file mode 100644
index 000000000000..e8a420b21f27
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XDecryptionResultListener.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_sax_xdecryptionresultlistener_idl_
+#define __com_sun_star_xml_crypto_sax_xdecryptionresultlistener_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+#include <com/sun/star/xml/crypto/SecurityOperationStatus.idl>
+
+module com { module sun { module star { module xml { module crypto { module sax {
+
+/**
+ * Interface of Decryption Result Listener.
+ * <p>
+ * This interface is used to receive the result information of a
+ * decryption operation.
+ */
+interface XDecryptionResultListener : com::sun::star::uno::XInterface
+{
+ /**
+ * Notifies the decryption result.
+ *
+ * @param securityId the security id of the encryption to be decrypted
+ * @param decryptionResult the result information
+ */
+ void decrypted(
+ [in] long securityId,
+ [in] com::sun::star::xml::crypto::SecurityOperationStatus decryptionResult);
+};
+
+} ; } ; } ; } ; } ; } ;
+
+
+#endif
+
diff --git a/offapi/com/sun/star/xml/crypto/sax/XElementStackKeeper.idl b/offapi/com/sun/star/xml/crypto/sax/XElementStackKeeper.idl
new file mode 100644
index 000000000000..7b3e1a1039bc
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XElementStackKeeper.idl
@@ -0,0 +1,94 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_sax_xelementstackkeeper_idl_
+#define __com_sun_star_xml_crypto_sax_xelementstackkeeper_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+#include <com/sun/star/xml/sax/XDocumentHandler.idl>
+
+module com { module sun { module star { module xml { module crypto { module sax {
+
+/**
+ * A struct to keep a startElement/endElement SAX event.
+ */
+struct ElementStackItem
+{
+ /**
+ * whether it is a startElement event
+ */
+ boolean isStartElementEvent;
+
+ /**
+ * the name of the element
+ */
+ string elementName;
+
+ /**
+ * attribute list for a startElement event
+ */
+ com::sun::star::xml::sax::XAttributeList xAttributes;
+};
+
+/**
+ * Manipulate the "key SAX events" in a SAX event stream.
+ *
+ * @see XSecController
+ */
+interface XElementStackKeeper : com::sun::star::uno::XInterface
+{
+ /**
+ * Starts to buffer key SAX events.
+ */
+ void start();
+
+ /**
+ * Stops buffering key SAX events.
+ */
+ void stop();
+
+ /**
+ * Transfers the bufferred key SAX events to a document handler.
+ * <p>
+ * All transferred events are removed from the buffer.
+ *
+ * @param handler the document to receive key SAX events
+ * @param includingTheLastEvent whether to transfer the last key SAX event
+ */
+ void retrieve( [in] com::sun::star::xml::sax::XDocumentHandler handler, [in] boolean includingTheLastEvent);
+};
+
+} ; } ; } ; } ; } ; } ;
+
+
+#endif
+
diff --git a/offapi/com/sun/star/xml/crypto/sax/XEncryptionResultBroadcaster.idl b/offapi/com/sun/star/xml/crypto/sax/XEncryptionResultBroadcaster.idl
new file mode 100644
index 000000000000..7d77439ed710
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XEncryptionResultBroadcaster.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_sax_xencryptionresultbroadcaster_idl_
+#define __com_sun_star_xml_crypto_sax_xencryptionresultbroadcaster_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module xml { module crypto { module sax {
+
+interface XEncryptionResultListener;
+
+/**
+ * Interface of Encryption Result Broadcaster.
+ * <p>
+ * This interface is used to manipulate encryption result listener.
+ */
+interface XEncryptionResultBroadcaster : com::sun::star::uno::XInterface
+{
+ /**
+ * Adds a new encryption result listener.
+ * <p>
+ * When the encryption is finished, the result information will be sent to this
+ * listener.
+ *
+ * @param listener the listener to be added
+ */
+ void addEncryptionResultListener(
+ [in] XEncryptionResultListener listener)
+ raises( com::sun::star::uno::Exception );
+
+ /**
+ * Removes an encryption result listener.
+ * <p>
+ * After a listener is removed, no result information will be sent to it.
+ *
+ * @param listener the listener to be removed
+ */
+ void removeEncryptionResultListener([in] XEncryptionResultListener listener);
+};
+
+} ; } ; } ; } ; } ; } ;
+
+
+#endif
+
diff --git a/offapi/com/sun/star/xml/crypto/sax/XEncryptionResultListener.idl b/offapi/com/sun/star/xml/crypto/sax/XEncryptionResultListener.idl
new file mode 100644
index 000000000000..0eca5a84d413
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XEncryptionResultListener.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_sax_xencryptionresultlistener_idl_
+#define __com_sun_star_xml_crypto_sax_xencryptionresultlistener_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+#include <com/sun/star/xml/crypto/SecurityOperationStatus.idl>
+
+module com { module sun { module star { module xml { module crypto { module sax {
+
+/**
+ * Interface of Encryption Result Listener.
+ * <p>
+ * This interface is used to receive the result information of an
+ * encryption operation.
+ */
+interface XEncryptionResultListener : com::sun::star::uno::XInterface
+{
+ /**
+ * Notifies the encryption result.
+ *
+ * @param securityId the security id of the encryption
+ * @param encryptionResult the result information
+ */
+ void encrypted(
+ [in] long securityId,
+ [in] com::sun::star::xml::crypto::SecurityOperationStatus encryptionResult);
+};
+
+} ; } ; } ; } ; } ; } ;
+
+
+#endif
+
diff --git a/offapi/com/sun/star/xml/crypto/sax/XKeyCollector.idl b/offapi/com/sun/star/xml/crypto/sax/XKeyCollector.idl
new file mode 100644
index 000000000000..a7bc3c5c807f
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XKeyCollector.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_sax_xkeycollector_idl_
+#define __com_sun_star_xml_crypto_sax_xkeycollector_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module xml { module crypto { module sax {
+
+/**
+ * Interface of Key Collector.
+ * <p>
+ * This interface is used to manipulate key materials.
+ */
+interface XKeyCollector : com::sun::star::uno::XInterface
+{
+ /**
+ * Set the keeper id of the key element.
+ *
+ * @param id the keeper id of the key element. If the id is 0, then it represents
+ * that this security entity has included its key material internally.
+ */
+ void setKeyId([in] long id)
+ raises( com::sun::star::uno::Exception );
+};
+
+} ; } ; } ; } ; } ; } ;
+
+
+#endif
+
diff --git a/offapi/com/sun/star/xml/crypto/sax/XMissionTaker.idl b/offapi/com/sun/star/xml/crypto/sax/XMissionTaker.idl
new file mode 100644
index 000000000000..6f902a867b65
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XMissionTaker.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_sax_xmissiontaker_idl_
+#define __com_sun_star_xml_crypto_sax_xmissiontaker_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module xml { module crypto { module sax {
+
+/**
+ * Interface of Mission Taker.
+ * <p>
+ * This interface is used to controll a mission.
+ */
+interface XMissionTaker : com::sun::star::uno::XInterface
+{
+ /**
+ * Forces a mission to make an end.
+ *
+ * @return <true/> if the mission is completed successfully, <false/>
+ * otherwise.
+ */
+ boolean endMission();
+};
+
+} ; } ; } ; } ; } ; } ;
+
+
+#endif
+
diff --git a/offapi/com/sun/star/xml/crypto/sax/XReferenceCollector.idl b/offapi/com/sun/star/xml/crypto/sax/XReferenceCollector.idl
new file mode 100644
index 000000000000..10e79fbcb58d
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XReferenceCollector.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_sax_xsignaturecollector_idl_
+#define __com_sun_star_xml_crypto_sax_xsignaturecollector_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module xml { module crypto { module sax {
+
+/**
+ * Interface of Signature Collector.
+ * <p>
+ * This interface is used to control collecting a signature.
+ */
+interface XReferenceCollector : com::sun::star::uno::XInterface
+{
+ /**
+ * Sets the reference count of the signature.
+ *
+ * @param count the reference count of the signature
+ */
+ void setReferenceCount([in] long count)
+ raises( com::sun::star::uno::Exception );
+
+ /**
+ * Set the keeper id of the element colllector of the
+ * referenced element.
+ *
+ * @param id the keeper id of the element collector,
+ * which is collecting a referenced element
+ */
+ void setReferenceId([in] long id)
+ raises( com::sun::star::uno::Exception );
+};
+
+} ; } ; } ; } ; } ; } ;
+
+
+#endif
+
diff --git a/offapi/com/sun/star/xml/crypto/sax/XReferenceResolvedBroadcaster.idl b/offapi/com/sun/star/xml/crypto/sax/XReferenceResolvedBroadcaster.idl
new file mode 100644
index 000000000000..dba649deea7c
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XReferenceResolvedBroadcaster.idl
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_sax_xreferenceresolvedbroadcaster_idl_
+#define __com_sun_star_xml_crypto_sax_xreferenceresolvedbroadcaster_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module xml { module crypto { module sax {
+
+interface XReferenceResolvedListener;
+
+/**
+ * Interface of Reference Resolved Broadcaster.
+ * <p>
+ * This interface is used to manipulate reference resolved listener.
+ */
+interface XReferenceResolvedBroadcaster : com::sun::star::uno::XInterface
+{
+ /**
+ * Adds a new reference resolved listener for a element collector.
+ * <p>
+ * When the element collector has completely collected that element,
+ * this listener will receive a notification.
+ *
+ * @param referenceId the id of the element collector for which
+ * the new listener is added
+ * @param listener the listener to be added
+ */
+ void addReferenceResolvedListener(
+ [in] long referenceId,
+ [in] XReferenceResolvedListener listener);
+
+ /**
+ * Removes a listener from a element collector.
+ * <p>
+ * When a listener is removed, it will not receive notification when
+ * collection completes.
+ *
+ * @param referenceId the id of the element collector from which
+ * the listener is removed
+ * @param listener the listener to be removed
+ */
+ void removeReferenceResolvedListener(
+ [in] long referenceId,
+ [in] XReferenceResolvedListener listener);
+};
+
+} ; } ; } ; } ; } ; } ;
+
+
+#endif
+
diff --git a/offapi/com/sun/star/xml/crypto/sax/XReferenceResolvedListener.idl b/offapi/com/sun/star/xml/crypto/sax/XReferenceResolvedListener.idl
new file mode 100644
index 000000000000..485f6090725b
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XReferenceResolvedListener.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_sax_xreferenceresolvedlistener_idl_
+#define __com_sun_star_xml_crypto_sax_xreferenceresolvedlistener_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module xml { module crypto { module sax {
+
+/**
+ * Interface of Reference Resolved Listener.
+ * <p>
+ * This interface is used to receive the collection completion notification for a element
+ * collector.
+ */
+interface XReferenceResolvedListener : com::sun::star::uno::XInterface
+{
+ /**
+ * Notifies an element has been collected by an element collector.
+ *
+ * @param referenceId the id of the element collector
+ */
+ void referenceResolved([in] long referenceId)
+ raises( com::sun::star::uno::Exception );
+};
+
+} ; } ; } ; } ; } ; } ;
+
+
+#endif
+
diff --git a/offapi/com/sun/star/xml/crypto/sax/XSAXEventKeeper.idl b/offapi/com/sun/star/xml/crypto/sax/XSAXEventKeeper.idl
new file mode 100644
index 000000000000..20f8a0289f5c
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XSAXEventKeeper.idl
@@ -0,0 +1,147 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_sax_xsaxeventkeeper_idl_
+#define __com_sun_star_xml_crypto_sax_xsaxeventkeeper_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+#include <com/sun/star/xml/sax/XDocumentHandler.idl>
+
+#include <com/sun/star/xml/wrapper/XXMLDocumentWrapper.idl>
+#include <com/sun/star/xml/wrapper/XXMLElementWrapper.idl>
+
+module com { module sun { module star { module xml { module crypto { module sax {
+
+/**
+ * Interface of SAX Event Keeper.
+ * <p>
+ * This interface is used to manipulate element marks in a SAX event stream.
+ * <p>
+ * There are two kinds of element mark, one is element collector, which is
+ * used to collect a particular element from the SAX event stream; the other
+ * is blocker, which is used to block the SAX event stream.
+ */
+interface XSAXEventKeeper : com::sun::star::uno::XInterface
+{
+ /**
+ * Adds a new element collector on the next element in the SAX event
+ * stream.
+ *
+ * @return the keeper id of the new element collector
+ */
+ long addElementCollector();
+
+ /**
+ * Removes an element collector.
+ *
+ * @param id the keeper id of the element collector to be removed
+ */
+ void removeElementCollector([in] long id);
+
+ /**
+ * Adds a new blocker on the next element in the SAX event stream.
+ * <p>
+ * No SAX event starting from the next element will be forwarded until
+ * this blocker is removed.
+ *
+ * @return the keeper id of the new blocker
+ */
+ long addBlocker();
+
+ /**
+ * Removes a blocker
+ *
+ * @param id the keeper id of the blocker to be removed
+ */
+ void removeBlocker([in] long id);
+
+ /**
+ * Checks whether the SAX event stream is blocking.
+ *
+ * @return <code>true</code> if blocking, <code>false</code> otherwise
+ */
+ boolean isBlocking();
+
+ /**
+ * Gets the element of an element mark.
+ *
+ * @param id the keeper id of the element mark, it can be a element
+ * collector or a blocker
+ */
+ com::sun::star::xml::wrapper::XXMLElementWrapper getElement([in] long id);
+
+ /**
+ * Sets the element of an element mark.
+ * <p>
+ * When an element is replaced outside of this interface, then uses this method
+ * can restore the link between an element mark and its working element.
+ *
+ * @param id the keeper id of the element mark to be set
+ * @param aElement the new element for this element mark.
+ */
+ void setElement(
+ [in] long id,
+ [in] com::sun::star::xml::wrapper::XXMLElementWrapper aElement);
+
+ /**
+ * Sets the next document handler in the SAX chain.
+ * <p>
+ * This handler will receive SAX events forwarded by the SAXEventKeeper.
+ *
+ * @param nextHandler the next handler in the SAX chain
+ * @return the old next handler
+ */
+ com::sun::star::xml::sax::XDocumentHandler setNextHandler(
+ [in] com::sun::star::xml::sax::XDocumentHandler nextHandler);
+
+ /**
+ * Prints information about all bufferred elements.
+ *
+ * @return a tree-style string including all buffer informtion
+ */
+ string printBufferNodeTree();
+
+ /**
+ * Gets the element which current blocking happens.
+ * <p>
+ * This element is the working element of the first blocker in tree order.
+ *
+ * @return the current blocking element
+ */
+ com::sun::star::xml::wrapper::XXMLElementWrapper getCurrentBlockingNode();
+};
+
+} ; } ; } ; } ; } ; } ;
+
+
+#endif
+
diff --git a/offapi/com/sun/star/xml/crypto/sax/XSAXEventKeeperStatusChangeBroadcaster.idl b/offapi/com/sun/star/xml/crypto/sax/XSAXEventKeeperStatusChangeBroadcaster.idl
new file mode 100644
index 000000000000..87991d07c7f9
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XSAXEventKeeperStatusChangeBroadcaster.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_sax_xsaxeventkeeperstatuschangebroadcaster_idl_
+#define __com_sun_star_xml_crypto_sax_xsaxeventkeeperstatuschangebroadcaster_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module xml { module crypto { module sax {
+
+interface XSAXEventKeeperStatusChangeListener;
+
+/**
+ * Interface of SAXEventKeeper Status Change Broadcaster.
+ * <p>
+ * This interface is used to manipulate SAXEventKeeper status change listener.
+ */
+interface XSAXEventKeeperStatusChangeBroadcaster : com::sun::star::uno::XInterface
+{
+ /**
+ * Adds a new status change listener.
+ * <p>
+ * When the SAXEventKeeper's status changes, the listener will receive a
+ * notification.
+ *
+ * @param listener the listener to be added
+ */
+ void addSAXEventKeeperStatusChangeListener(
+ [in] XSAXEventKeeperStatusChangeListener listener);
+
+ /**
+ * Removes a status change listener.
+ * <p>
+ * After a listener is removed, no status change notification will be
+ * sent to it.
+ *
+ * @param listener the listener to be removed
+ */
+ void removeSAXEventKeeperStatusChangeListener(
+ [in] XSAXEventKeeperStatusChangeListener listener);
+};
+
+} ; } ; } ; } ; } ; } ;
+
+
+#endif
+
diff --git a/offapi/com/sun/star/xml/crypto/sax/XSAXEventKeeperStatusChangeListener.idl b/offapi/com/sun/star/xml/crypto/sax/XSAXEventKeeperStatusChangeListener.idl
new file mode 100644
index 000000000000..9d04a0ba1757
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XSAXEventKeeperStatusChangeListener.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_sax_xsaxeventkeeperstatuschangelistener_idl_
+#define __com_sun_star_xml_crypto_sax_xsaxeventkeeperstatuschangelistener_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module xml { module crypto { module sax {
+
+/**
+ * Interface of SAXEventKeeper Status Change Listener.
+ * <p>
+ * This interface is used to receive the SAXEventKeeper status change notification.
+ */
+interface XSAXEventKeeperStatusChangeListener : com::sun::star::uno::XInterface
+{
+ /**
+ * Notifies the SAXEventKeeper is entering/leaving blocking state.
+ *
+ * @param isBlocking <code>true</code> if the SAXEventKeeper is
+ * entering blocking state, <code>false</code>
+ * otherwise
+ */
+ void blockingStatusChanged([in] boolean isBlocking);
+
+ /**
+ * Notifies the SAXEventKeeper is entering/leaving collecting state.
+ *
+ * @param isInsideCollectedElement <code>true</code> if the SAXEventKeeper is
+ * collecting some element, <code>false</code>
+ * otherwise
+ */
+ void collectionStatusChanged([in] boolean isInsideCollectedElement);
+
+ /**
+ * Notifies the SAXEventKeeper's buffer is empty/not empty
+ *
+ * @param isBufferEmpty <code>true</code> if the SAXEventKeeper has no buffer
+ * at all; <code>false</code> otherwise.
+ */
+ void bufferStatusChanged([in] boolean isBufferEmpty);
+};
+
+} ; } ; } ; } ; } ; } ;
+
+
+#endif
+
diff --git a/offapi/com/sun/star/xml/crypto/sax/XSecurityController.idl b/offapi/com/sun/star/xml/crypto/sax/XSecurityController.idl
new file mode 100644
index 000000000000..872f27d2a78f
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XSecurityController.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_sax_xbuffercontroller_idl_
+#define __com_sun_star_xml_crypto_sax_xbuffercontroller_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+#include <com/sun/star/xml/sax/XDocumentHandler.idl>
+#include <com/sun/star/io/XInputStream.idl>
+
+module com { module sun { module star { module xml { module crypto { module sax {
+
+/**
+ * Interface of XML Security Controller
+ * <p>
+ * This interface is used to control security operations in the XML security framework.
+ */
+interface XSecurityController : com::sun::star::uno::XInterface
+{
+};
+
+} ; } ; } ; } ; } ; } ;
+
+
+#endif
+
diff --git a/offapi/com/sun/star/xml/crypto/sax/XSecuritySAXEventKeeper.idl b/offapi/com/sun/star/xml/crypto/sax/XSecuritySAXEventKeeper.idl
new file mode 100644
index 000000000000..16b52279a556
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XSecuritySAXEventKeeper.idl
@@ -0,0 +1,133 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_sax_xsecuritysaxeventkeeper_idl_
+#define __com_sun_star_xml_crypto_sax_xsecuritysaxeventkeeper_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+#include <com/sun/star/xml/crypto/sax/XSAXEventKeeper.idl>
+
+module com { module sun { module star { module xml { module crypto { module sax {
+
+/**
+ * Represents the undefined security id
+ */
+constants ConstOfSecurityId
+{
+ const long UNDEFINEDSECURITYID = -1;
+};
+
+/**
+ * Defines priority for the element mark's notification.
+ * <p>
+ * The PRI_MINIMUM priority is a value less than any practical
+ * priority value, it is used when compare between different
+ * priority values.
+ * <p>
+ * The PRI_AFTERMODIFY priority represents the notification will be
+ * sent after any internal modification has finished.
+ * <p>
+ * The PRI_BEFOREMODIFY proirity represents the notification will be
+ * sent before any internal modification happens.
+ * <p>
+ * So an element mark with PRI_BEFOREMODIFY will be handled first,
+ * and one with PRI_AFTERMODIFY will be handled at last.
+ */
+enum ElementMarkPriority
+{
+ MINIMUM = 1,
+ AFTERMODIFY,
+ BEFOREMODIFY
+};
+
+/**
+ * Defines types of element mark.
+ * <p>
+ * the TYPEOFELEMENTMARK type represents a blocker, and the TYPEOFELEMENTCOLLECTOR
+ * type represents a element collector.
+ */
+enum ElementMarkType
+{
+ ELEMENTMARK = 1,
+ ELEMENTCOLLECTOR
+};
+
+/**
+ * Interface of Security SAX Event Keeper.
+ * <p>
+ * This interface is an extension of the XSAXEventKeeper interface,
+ * some security related features are added.
+ */
+interface XSecuritySAXEventKeeper : XSAXEventKeeper
+{
+ /**
+ * Adds a new element collector on the next element in the SAX event
+ * stream.
+ *
+ * @param priority the priority of the element collector. See
+ * ConstOfPriority
+ * @param modifyElement a flag representing whether the element
+ * collector will modify the content of its
+ * element after notification
+ * @return the keeper id of the new element collector
+ */
+ long addSecurityElementCollector(
+ [in] ElementMarkPriority priority,
+ [in] boolean modifyElement);
+
+ /**
+ * Clones an element collector.
+ *
+ * @param referenceId the keeper id of the element collector to
+ * be cloned
+ * @param priority the priority of new element collector. See
+ * ConstOfPriority
+ * @return the keeper id of the new element collector
+ */
+ long cloneElementCollector(
+ [in] long referenceId,
+ [in] ElementMarkPriority priority);
+
+ /**
+ * Sets security id for an element mark.
+ *
+ * @param id the keeper id of the element collector to be set
+ * @param securityId the security id to be set
+ */
+ void setSecurityId([in] long id, [in] long securityId);
+};
+
+} ; } ; } ; } ; } ; } ;
+
+
+#endif
+
diff --git a/offapi/com/sun/star/xml/crypto/sax/XSignatureCreationResultBroadcaster.idl b/offapi/com/sun/star/xml/crypto/sax/XSignatureCreationResultBroadcaster.idl
new file mode 100644
index 000000000000..ff65155a6491
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XSignatureCreationResultBroadcaster.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_sax_xsignaturecreationresultbroadcaster_idl_
+#define __com_sun_star_xml_crypto_sax_xsignaturecreationresultbroadcaster_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module xml { module crypto { module sax {
+
+interface XSignatureCreationResultListener;
+
+/**
+ * Interface of Signature Creation Result Broadcaster.
+ * <p>
+ * This interface is used to manipulate signature creation result listener.
+ */
+interface XSignatureCreationResultBroadcaster : com::sun::star::uno::XInterface
+{
+ /**
+ * Adds a new signature creation result listener.
+ * <p>
+ * When the signature is created, the result information will be sent to this
+ * listener.
+ *
+ * @param listener the listener to be added
+ */
+ void addSignatureCreationResultListener(
+ [in] XSignatureCreationResultListener listener)
+ raises( com::sun::star::uno::Exception );
+
+ /**
+ * Removes a signature creation result listener.
+ * <p>
+ * After a listener is removed, no result information will be sent to it.
+ *
+ * @param listener the listener to be removed
+ */
+ void removeSignatureCreationResultListener(
+ [in] XSignatureCreationResultListener listener);
+};
+
+} ; } ; } ; } ; } ; } ;
+
+
+#endif
+
diff --git a/offapi/com/sun/star/xml/crypto/sax/XSignatureCreationResultListener.idl b/offapi/com/sun/star/xml/crypto/sax/XSignatureCreationResultListener.idl
new file mode 100644
index 000000000000..7d488ef640bf
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XSignatureCreationResultListener.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_sax_xsignaturecreationresultlistener_idl_
+#define __com_sun_star_xml_crypto_sax_xsignaturecreationresultlistener_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+#include <com/sun/star/xml/crypto/SecurityOperationStatus.idl>
+
+module com { module sun { module star { module xml { module crypto { module sax {
+
+/**
+ * Interface of Signature Creation Result Listener.
+ * <p>
+ * This interface is used to receive the result information of a
+ * signature creation.
+ */
+interface XSignatureCreationResultListener : com::sun::star::uno::XInterface
+{
+ /**
+ * Notifies the signature creation result.
+ *
+ * @param securityId the security id of the signature
+ * @param creationResult the result information
+ */
+ void signatureCreated(
+ [in] long securityId,
+ [in] com::sun::star::xml::crypto::SecurityOperationStatus creationResult);
+};
+
+} ; } ; } ; } ; } ; } ;
+
+
+#endif
+
diff --git a/offapi/com/sun/star/xml/crypto/sax/XSignatureVerifyResultBroadcaster.idl b/offapi/com/sun/star/xml/crypto/sax/XSignatureVerifyResultBroadcaster.idl
new file mode 100644
index 000000000000..de557f356f44
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XSignatureVerifyResultBroadcaster.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_sax_xsignatureverifyresultbroadcaster_idl_
+#define __com_sun_star_xml_crypto_sax_xsignatureverifyresultbroadcaster_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module xml { module crypto { module sax {
+
+interface XSignatureVerifyResultListener;
+
+/**
+ * Interface of Signature Verify Result Broadcaster.
+ * <p>
+ * This interface is used to manipulate signature verify result listener.
+ */
+interface XSignatureVerifyResultBroadcaster : com::sun::star::uno::XInterface
+{
+ /**
+ * Adds a new signature verify result listener.
+ * <p>
+ * When the signature is verified, the result information will be sent to this
+ * listener.
+ *
+ * @param listener the listener to be added
+ */
+ void addSignatureVerifyResultListener(
+ [in] XSignatureVerifyResultListener listener)
+ raises( com::sun::star::uno::Exception );
+
+ /**
+ * Removes a signature verify result listener.
+ * <p>
+ * After a listener is removed, no result information will be sent to it.
+ *
+ * @param listener the listener to be removed
+ */
+ void removeSignatureVerifyResultListener(
+ [in] XSignatureVerifyResultListener listener);
+};
+
+} ; } ; } ; } ; } ; } ;
+
+
+#endif
+
diff --git a/offapi/com/sun/star/xml/crypto/sax/XSignatureVerifyResultListener.idl b/offapi/com/sun/star/xml/crypto/sax/XSignatureVerifyResultListener.idl
new file mode 100644
index 000000000000..a9de2fb7ef90
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XSignatureVerifyResultListener.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_sax_xsignatureverifyresultlistener_idl_
+#define __com_sun_star_xml_crypto_sax_xsignatureverifyresultlistener_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+#include <com/sun/star/xml/crypto/SecurityOperationStatus.idl>
+
+module com { module sun { module star { module xml { module crypto { module sax {
+
+/**
+ * Interface of Signature Verify Result Listener.
+ * <p>
+ * This interface is used to receive the result information of a
+ * signature verification.
+ */
+interface XSignatureVerifyResultListener : com::sun::star::uno::XInterface
+{
+ /**
+ * Notifies the signature verify result.
+ *
+ * @param securityId the security id of the signature
+ * @param verifyResult the result information
+ */
+ void signatureVerified(
+ [in] long securityId,
+ [in] com::sun::star::xml::crypto::SecurityOperationStatus verifyResult);
+};
+
+} ; } ; } ; } ; } ; } ;
+
+
+#endif
+
diff --git a/offapi/com/sun/star/xml/crypto/sax/makefile.mk b/offapi/com/sun/star/xml/crypto/sax/makefile.mk
new file mode 100644
index 000000000000..a95aef560bea
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/makefile.mk
@@ -0,0 +1,72 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+#i20156 - new file for xmlsecurity module
+
+PRJ=..$/..$/..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=xsec-sax
+PACKAGE=com$/sun$/star$/xml$/crypto$/sax
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ XSecurityController.idl \
+ XElementStackKeeper.idl \
+ XSAXEventKeeper.idl \
+ XSecuritySAXEventKeeper.idl \
+ XSAXEventKeeperStatusChangeBroadcaster.idl \
+ XSAXEventKeeperStatusChangeListener.idl \
+ XKeyCollector.idl \
+ XReferenceCollector.idl \
+ XBlockerMonitor.idl \
+ XMissionTaker.idl \
+ XEncryptionResultBroadcaster.idl \
+ XEncryptionResultListener.idl \
+ XDecryptionResultBroadcaster.idl \
+ XDecryptionResultListener.idl \
+ XSignatureCreationResultBroadcaster.idl \
+ XSignatureCreationResultListener.idl \
+ XSignatureVerifyResultBroadcaster.idl \
+ XSignatureVerifyResultListener.idl \
+ XReferenceResolvedBroadcaster.idl \
+ XReferenceResolvedListener.idl \
+ SignatureCreator.idl \
+ SignatureVerifier.idl \
+ Decryptor.idl \
+ Encryptor.idl \
+ SAXEventKeeper.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/xml/csax/XCompressedDocumentHandler.idl b/offapi/com/sun/star/xml/csax/XCompressedDocumentHandler.idl
new file mode 100644
index 000000000000..bcab642f7155
--- /dev/null
+++ b/offapi/com/sun/star/xml/csax/XCompressedDocumentHandler.idl
@@ -0,0 +1,96 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+#ifndef __com_sun_star_xml_csax_XCompressedDocumentHandler_idl__
+#define __com_sun_star_xml_csax_XCompressedDocumentHandler_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/xml/sax/SAXException.idl>
+
+
+module com { module sun { module star { module xml { module csax {
+
+/**
+ * A struct to keep information of an element's attribute.
+ */
+struct XMLAttribute
+{
+ /**
+ * the attribute name
+ */
+ string sName;
+
+ /**
+ * the attribute value
+ */
+ string sValue;
+};
+
+/**
+ * A compressed XDocumentHandler interface.
+ * <p>
+ * All methods in this interface have the same function with methods
+ * in the XDocumentHandler interface.
+ * <p>
+ * Because there is no interface parameter in these methods, so using
+ * this interface to transfer SAX event is thought to have better
+ * performance than using the XDocumentHandler interface, in case of
+ * when UNO C++/Java bridge is involved.
+ */
+interface XCompressedDocumentHandler: com::sun::star::uno::XInterface
+{
+ void _startDocument()
+ raises( com::sun::star::xml::sax::SAXException );
+
+ void _endDocument()
+ raises( com::sun::star::xml::sax::SAXException );
+
+ void _startElement( [in] string aName, [in] sequence< XMLAttribute > aAttributes)
+ raises( com::sun::star::xml::sax::SAXException );
+
+ void _endElement( [in] string aName )
+ raises( com::sun::star::xml::sax::SAXException );
+
+ void _characters( [in] string aChars )
+ raises( com::sun::star::xml::sax::SAXException );
+
+ void _ignorableWhitespace( [in] string aWhitespaces )
+ raises( com::sun::star::xml::sax::SAXException );
+
+ void _processingInstruction( [in] string aTarget, [in] string aData )
+ raises( com::sun::star::xml::sax::SAXException );
+
+ void _setDocumentLocator( [in] long columnNumber, [in] long lineNumber, [in] string publicId, [in] string systemId)
+ raises( com::sun::star::xml::sax::SAXException );
+
+};
+
+} ; } ; } ; } ; } ;
+
+#endif
diff --git a/offapi/com/sun/star/xml/csax/makefile.mk b/offapi/com/sun/star/xml/csax/makefile.mk
new file mode 100644
index 000000000000..8f41b54264b8
--- /dev/null
+++ b/offapi/com/sun/star/xml/csax/makefile.mk
@@ -0,0 +1,48 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+#i20156 - new file for xmlsecurity module
+
+PRJ=..$/..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=xsec-csax
+PACKAGE=com$/sun$/star$/xml$/csax
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ XCompressedDocumentHandler.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
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 000000000000..d344af889bbe
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/DOMException.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_dom_DOMException_idl__
+#define __com_sun_star_xml_dom_DOMException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+#ifndef __com_sun_star_xml_dom_DOMExceptionType_idl__
+#include <com/sun/star/xml/dom/DOMExceptionType.idl>
+#endif
+
+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
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 000000000000..2b83bf25fd74
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/DOMExceptionType.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_dom_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
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 000000000000..0804dc6df201
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/DocumentBuilder.idl
@@ -0,0 +1,14 @@
+#ifndef __com_sun_star_xml_dom_documentbuilder_idl
+#define __com_sun_star_xml_dom_documentbuilder_idl
+#ifndef __com_sun_star_xml_dom_xdocumentbuilder_idl
+#include <com/sun/star/xml/dom/XDocumentBuilder.idl>
+#endif
+module com { module sun { module star { module xml { module dom {
+
+ service DocumentBuilder
+ {
+ interface XDocumentBuilder;
+ };
+};};};};};
+#endif
+
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 000000000000..1a70489e3c8e
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/NodeType.idl
@@ -0,0 +1,51 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_dom_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
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 000000000000..4c9dffd36dda
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/SAXDocumentBuilder.idl
@@ -0,0 +1,19 @@
+#ifndef __com_sun_star_xml_dom_documentbuilder_idl
+#define __com_sun_star_xml_dom_documentbuilder_idl
+#ifndef __com_sun_star_xml_sax_xdocumenthandler_idl
+#include <com/sun/star/xml/sax/XDocumentHandler.idl>
+#endif
+#ifndef __com_sun_star_xml_dom_XSAXDocumentBuilder_idl
+#include <com/sun/star/xml/dom/XSAXDocumentBuilder.idl>
+#endif
+
+module com { module sun { module star { module xml { module dom {
+
+ service SAXDocumentBuilder
+ {
+ interface XSAXDocumentBuilder;
+ interface com::sun::star::xml::sax::XDocumentHandler;
+ };
+};};};};};
+#endif
+
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 000000000000..61344a0b78c6
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/SAXDocumentBuilderState.idl
@@ -0,0 +1,44 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_dom_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
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 000000000000..7d4a010e3723
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XAttr.idl
@@ -0,0 +1,73 @@
+/************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_dom_XAttr_idl__
+#define __com_sun_star_xml_sax_XAttr_idl__
+
+#ifndef __com_sun_star_xml_dom_XNode_idl__
+#include <com/sun/star/xml/dom/XNode.idl>
+#endif
+
+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
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 000000000000..a484ccabca34
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XCDATASection.idl
@@ -0,0 +1,42 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_dom_XCDATASection_idl__
+#define __com_sun_star_xml_dom_XCDATASection_idl__
+
+#ifndef __com_sun_star_xml_dom_XText_idl__
+#include <com/sun/star/xml/dom/XText.idl>
+#endif
+
+module com { module sun { module star { module xml { module dom {
+
+interface XCDATASection: XText
+{
+};
+};};};};};
+
+#endif
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 000000000000..380c705d6359
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XCharacterData.idl
@@ -0,0 +1,112 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_dom_XCharacterData_idl__
+#define __com_sun_star_xml_dom_XCharacterData_idl__
+
+#ifndef __com_sun_star_xml_dom_XNode_idl__
+#include <com/sun/star/xml/dom/XNode.idl>
+#endif
+
+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
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 000000000000..36a6a6e6afe7
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XComment.idl
@@ -0,0 +1,43 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_dom_XComment_idl__
+#define __com_sun_star_xml_dom_XCComment_idl__
+
+#ifndef __com_sun_star_xml_dom_XCharacterData_idl__
+#include <com/sun/star/xml/dom/XCharacterData.idl>
+#endif
+
+
+module com { module sun { module star { module xml { module dom {
+
+interface XComment: XCharacterData
+{
+};
+};};};};};
+
+#endif
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 000000000000..f8003fce26e2
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XDOMImplementation.idl
@@ -0,0 +1,88 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_dom_XDOMImplementation_idl__
+#define __com_sun_star_xml_dom_XDOMImplementation_idl__
+
+#ifndef __com_sun_star_uno__XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_xml_dom_DOMException_idl__
+#include <com/sun/star/xml/dom/DOMException.idl>
+#endif
+
+
+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
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 000000000000..6bd105d8e06c
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XDocument.idl
@@ -0,0 +1,195 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_dom_XDocument_idl__
+#define __com_sun_star_xml_dom_XDocument_idl__
+
+#ifndef __com_sun_star_xml_dom_XNode_idl__
+#include <com/sun/star/xml/dom/XNode.idl>
+#endif
+#ifndef __com_sun_star_xml_dom_XAttr_idl__
+#include <com/sun/star/xml/dom/XAttr.idl>
+#endif
+#ifndef __com_sun_star_xml_dom_XCDATASection_idl__
+#include <com/sun/star/xml/dom/XCDATASection.idl>
+#endif
+#ifndef __com_sun_star_xml_dom_XComment_idl__
+#include <com/sun/star/xml/dom/XComment.idl>
+#endif
+#ifndef __com_sun_star_xml_dom_XDocumentFragemnt_idl__
+#include <com/sun/star/xml/dom/XDocumentFragment.idl>
+#endif
+#ifndef __com_sun_star_xml_dom_XEntityReference_idl__
+#include <com/sun/star/xml/dom/XEntityReference.idl>
+#endif
+#ifndef __com_sun_star_xml_dom_XProcessingInstruction_idl__
+#include <com/sun/star/xml/dom/XProcessingInstruction.idl>
+#endif
+#ifndef __com_sun_star_xml_dom_XDocumentType_idl__
+#include <com/sun/star/xml/dom/XDocumentType.idl>
+#endif
+#ifndef __com_sun_star_xml_dom_XDOMImplementation_idl__
+#include <com/sun/star/xml/dom/XDOMImplementation.idl>
+#endif
+
+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
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 000000000000..e2245e9d3153
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XDocumentBuilder.idl
@@ -0,0 +1,126 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_dom_XDocumentBuilder_idl__
+#define __com_sun_star_xml_dom_XDocumentBuilder_idl__
+
+#ifndef __com_sun_star_uno__XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_xml_dom_XDocument_idl__
+#include <com/sun/star/xml/dom/XDocumentType.idl>
+#endif
+#ifndef __com_sun_star_xml_dom_XDOMImplementation_idl__
+#include <com/sun/star/xml/dom/XDOMImplementation.idl>
+#endif
+#ifndef __com_sun_star_io_XInputStream_idl__
+#include <com/sun/star/io/XInputStream.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_SAXException_idl__
+#include <com/sun/star/xml/sax/SAXException.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_XErrorHandler_idl__
+#include <com/sun/star/xml/sax/XErrorHandler.idl>
+#endif
+#ifndef __com_sun_star_xml_sax_XEntityResolver_idl__
+#include <com/sun/star/xml/sax/XEntityResolver.idl>
+#endif
+
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+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
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 000000000000..cbc8af63b923
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XDocumentFragment.idl
@@ -0,0 +1,42 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_dom_XDocumentFragment_idl__
+#define __com_sun_star_xml_dom_XDocumentFragment_idl__
+
+#ifndef __com_sun_star_xml_dom_XNode_idl__
+#include <com/sun/star/xml/dom/XNode.idl>
+#endif
+
+module com { module sun { module star { module xml { module dom {
+
+interface XDocumentFragment: XNode
+{
+};
+}; }; }; }; };
+
+#endif
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 000000000000..ce6495214bcf
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XDocumentType.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_dom_XDocumentType_idl__
+#define __com_sun_star_xml_dom_XDocumentType_idl__
+
+#ifndef __com_sun_star_xml_dom_XNode_idl__
+#include <com/sun/star/xml/dom/XNode.idl>
+#endif
+#ifndef __com_sun_star_xml_dom_XNamedNodeMap_idl__
+#include <com/sun/star/xml/dom/XNamedNodeMap.idl>
+#endif
+
+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
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 000000000000..dc0373467a53
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XElement.idl
@@ -0,0 +1,156 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_dom_XElement_idl__
+#define __com_sun_star_xml_dom_XElement_idl__
+
+#ifndef __com_sun_star_xml_dom_XNode_idl__
+#include <com/sun/star/xml/dom/XNode.idl>
+#endif
+#ifndef __com_sun_star_xml_dom_XAttr_idl__
+#include <com/sun/star/xml/dom/XAttr.idl>
+#endif
+
+module com { module sun { module star { module xml { module dom {
+
+interface XElement: XNode
+{
+ /**
+ Retrieves an attribute value by name.
+ */
+ string getAttribute([in] string name);
+
+ /**
+ Retrieves an attribute node by name.
+ */
+ XAttr getAttributeNode([in] string name);
+
+ /**
+ Retrieves an Attr node by local name and namespace URI.
+ */
+ XAttr getAttributeNodeNS([in] string namespaceURI,[in]
+ string localName);
+
+ /**
+ Retrieves an attribute value by local name and namespace URI.
+ */
+ string getAttributeNS([in] string namespaceURI, [in] string localName);
+
+ /**
+ Returns a NodeList of all descendant Elements with a given tag name,
+ in the order in which they are
+ encountered in a preorder traversal of this Element tree.
+ */
+ XNodeList getElementsByTagName([in] string name);
+
+ /**
+ Returns a NodeList of all the descendant Elements with a given local
+ name and namespace URI in the order in which they are encountered in
+ a preorder traversal of this Element tree.
+ */
+ XNodeList getElementsByTagNameNS([in] string namespaceURI,[in] string localName);
+
+ /**
+ The name of the element.
+ */
+ string getTagName();
+
+ /**
+ Returns true when an attribute with a given name is specified on this
+ element or has a default value, false otherwise.
+ */
+ boolean hasAttribute([in] string name);
+
+ /**
+ Returns true when an attribute with a given local name and namespace
+ URI is specified on this element or has a default value, false otherwise.
+ */
+ boolean hasAttributeNS([in] string namespaceURI,[in] string localName);
+
+ /**
+ Removes an attribute by name.
+ Throws:
+ DOMException - NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
+ */
+ void removeAttribute([in] string name) raises (DOMException);
+
+ /**
+ Removes the specified attribute node.
+ Throws:
+ DOMException - NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
+ NOT_FOUND_ERR: Raised if oldAttr is not an attribute of the element.
+ */
+ XAttr removeAttributeNode([in] XAttr oldAttr) raises (DOMException);
+
+ /**
+ Removes an attribute by local name and namespace URI.
+ Throws:
+ DOMException - NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
+ */
+ void removeAttributeNS([in] string namespaceURI,[in] string localName) raises (DOMException);
+
+ /**
+ Adds a new attribute.
+ Throws:
+ DOMException - INVALID_CHARACTER_ERR: Raised if the specified name contains an illegal character.
+ NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
+ */
+ void setAttribute([in] string name,[in] string value) raises (DOMException);
+
+ /**
+ Adds a new attribute node.
+ Throws:
+ DOMException - WRONG_DOCUMENT_ERR: Raised if newAttr was created from a different document than the one that created the element.
+ NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
+ INUSE_ATTRIBUTE_ERR: Raised if newAttr is already an attribute of another Element object. The DOM user must explicitly clone Attr nodes to re-use them in other elements.
+ */
+ XAttr setAttributeNode([in] XAttr newAttr) raises (DOMException);
+
+ /**
+ Adds a new attribute.
+ Throws:
+ DOMException - WRONG_DOCUMENT_ERR: Raised if newAttr was created from a different document than the one that created the element.
+ NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
+ INUSE_ATTRIBUTE_ERR: Raised if newAttr is already an attribute of another Element object. The DOM user must explicitly clone Attr nodes to re-use them in other elements.
+ NOT_SUPPORTED_ERR: Always thrown if the current document does not support the "XML" feature, since namespaces were defined by XML.
+ */
+ XAttr setAttributeNodeNS([in] XAttr newAttr) raises (DOMException);
+
+ /**
+ Adds a new attribute.
+ Throws:
+ DOMException - INVALID_CHARACTER_ERR: Raised if the specified qualified name contains an illegal character, per the XML 1.0 specification .
+ NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
+ NAMESPACE_ERR: Raised if the qualifiedName is malformed per the Namespaces in XML specification, if the qualifiedName has a prefix and the namespaceURI is null, if the qualifiedName has a prefix that is "xml" and the namespaceURI is different from " http://www.w3.org/XML/1998/namespace", or if the qualifiedName, or its prefix, is "xmlns" and the namespaceURI is different from " http://www.w3.org/2000/xmlns/".
+ NOT_SUPPORTED_ERR: Always thrown if the current document does not support the "XML" feature, since namespaces were defined by XML.
+ */
+ void setAttributeNS(
+ [in] string namespaceURI, [in] string qualifiedName, [in] string value) raises (DOMException);
+};
+}; }; }; }; };
+
+#endif
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 000000000000..7396a42aa190
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XEntity.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_dom_XEntety_idl__
+#define __com_sun_star_xml_dom_XEntety_idl__
+
+#ifndef __com_sun_star_xml_dom_XNode_idl__
+#include <com/sun/star/xml/dom/XNode.idl>
+#endif
+
+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
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 000000000000..cec97fdf0219
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XEntityReference.idl
@@ -0,0 +1,42 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_dom_XEntetyReference_idl__
+#define __com_sun_star_xml_dom_XEntetyReference_idl__
+
+#ifndef __com_sun_star_xml_dom_XNode_idl__
+#include <com/sun/star/xml/dom/XNode.idl>
+#endif
+
+module com { module sun { module star { module xml { module dom {
+
+interface XEntityReference: XNode
+{
+};
+}; }; }; }; };
+
+#endif
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 000000000000..d5ea97e1ef69
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XNamedNodeMap.idl
@@ -0,0 +1,104 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_dom_XNamedNodeMap_idl__
+#define __com_sun_star_xml_dom_XNamedNodeMap_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_xml_dom_DOMException_idl__
+#include <com/sun/star/xml/dom/DOMException.idl>
+#endif
+
+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 the indexth item in the map.
+ */
+ 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
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 000000000000..a86220300412
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XNode.idl
@@ -0,0 +1,282 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_dom_XNode_idl__
+#define __com_sun_star_xml_dom_XNode_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_xml_dom_NodeType_idl__
+#include <com/sun/star/xml/dom/NodeType.idl>
+#endif
+#ifndef __com_sun_star_xml_dom_XNodeList_idl__
+#include <com/sun/star/xml/dom/XNodeList.idl>
+#endif
+#ifndef __com_sun_star_xml_dom_XNamedNodeMap_idl__
+#include <com/sun/star/xml/dom/XNamedNodeMap.idl>
+#endif
+
+
+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.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
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 000000000000..a59d2aa7a70a
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XNodeList.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_dom_XNodeList_idl__
+#define __com_sun_star_xml_dom_XNodeList_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+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 the indexth item in the collection.
+ */
+ XNode item([in] long index);
+};
+}; }; }; }; };
+
+#endif
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 000000000000..6198cdd491e9
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XNotation.idl
@@ -0,0 +1,52 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_dom_XNotation_idl__
+#define __com_sun_star_xml_dom_XNotation_idl__
+
+#ifndef __com_sun_star_xml_dom_XNode_idl__
+#include <com/sun/star/xml/dom/XNode.idl>
+#endif
+
+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
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 000000000000..48277fc4a5c8
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XProcessingInstruction.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_dom_XProcessingInstruction_idl__
+#define __com_sun_star_xml_dom_XProcessingInstruction_idl__
+
+#ifndef __com_sun_star_xml_dom_XNode_idl__
+#include <com/sun/star/xml/dom/XNode.idl>
+#endif
+
+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
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 000000000000..05fafa20fc9f
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XSAXDocumentBuilder.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_dom_XSAXDocumentBuilder_idl__
+#define __com_sun_star_xml_dom_XSAXDocumentBuilder_idl__
+
+#ifndef __com_sun_star_uno__XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_xml_dom_XDocument_idl__
+#include <com/sun/star/xml/dom/XDocument.idl>
+#endif
+#ifndef __com_sun_star_xml_dom_XDocumentFragment_idl__
+#include <com/sun/star/xml/dom/XDocumentFragment.idl>
+#endif
+#ifndef __com_sun_star_xml_dom_SAXDocumentBuilderState_idl__
+#include <com/sun/star/xml/dom/SAXDocumentBuilderState.idl>
+#endif
+
+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
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 000000000000..8d12d1466cdd
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XText.idl
@@ -0,0 +1,49 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_dom_XText_idl__
+#define __com_sun_star_xml_dom_XText_idl__
+
+#ifndef __com_sun_star_xml_dom_XCharacterData_idl__
+#include <com/sun/star/xml/dom/XCharacterData.idl>
+#endif
+
+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
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 000000000000..136ae69a9101
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/events/AttrChangeType.idl
@@ -0,0 +1,42 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_dom_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
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 000000000000..e05e7c7623d2
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/events/EventException.idl
@@ -0,0 +1,43 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xml_dom_events_EventException_idl__
+#define __com_sun_star_xml_dom_events_EventException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+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
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 000000000000..d0b10c05765e
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/events/EventType.idl
@@ -0,0 +1,174 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_dom_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 a 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, thru a mouse click or a keypress. 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 hyperactivation (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 accomodate 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
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 000000000000..c2c0a76fdd43
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/events/PhaseType.idl
@@ -0,0 +1,40 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xml_dom_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
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 000000000000..4b506e646e6a
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/events/XDocumentEvent.idl
@@ -0,0 +1,42 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xml_dom_events_XDocumentEvent_idl__
+#define __com_sun_star_xml_dom_events_XDocuemntEvent_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
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 000000000000..215404b7a836
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/events/XEvent.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xml_dom_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/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
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 000000000000..ffd9db3bf0fa
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/events/XEventListener.idl
@@ -0,0 +1,42 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_dom_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
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 000000000000..203531c9165e
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/events/XEventTarget.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_dom_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
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 000000000000..659e7bdfbab2
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/events/XMouseEvent.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xml_dom_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
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 000000000000..724ea388fd75
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/events/XMutationEvent.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xml_dom_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
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 000000000000..a58d41b2d918
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/events/XUIEvent.idl
@@ -0,0 +1,49 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xml_dom_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
diff --git a/offapi/com/sun/star/xml/dom/events/makefile.mk b/offapi/com/sun/star/xml/dom/events/makefile.mk
new file mode 100644
index 000000000000..b03cf793ca32
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/events/makefile.mk
@@ -0,0 +1,62 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssdomevents
+PACKAGE=com$/sun$/star$/xml$/dom$/events
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ AttrChangeType.idl \
+ EventException.idl \
+ EventType.idl \
+ PhaseType.idl \
+ XDocumentEvent.idl \
+ XEvent.idl \
+ XEventListener.idl \
+ XEventTarget.idl \
+ XMouseEvent.idl \
+ XMutationEvent.idl \
+ XUIEvent.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
+
+
+
+
+
+
diff --git a/offapi/com/sun/star/xml/dom/makefile.mk b/offapi/com/sun/star/xml/dom/makefile.mk
new file mode 100644
index 000000000000..3468e2685908
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/makefile.mk
@@ -0,0 +1,75 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssdom
+PACKAGE=com$/sun$/star$/xml$/dom
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ DOMException.idl \
+ DOMExceptionType.idl \
+ NodeType.idl \
+ XNode.idl \
+ XAttr.idl \
+ XCharacterData.idl \
+ XText.idl \
+ XCDATASection.idl \
+ XComment.idl \
+ XDOMImplementation.idl \
+ XDocument.idl \
+ XDocumentBuilder.idl \
+ XDocumentFragment.idl \
+ XDocumentType.idl \
+ XElement.idl \
+ XEntity.idl \
+ XEntityReference.idl \
+ XNamedNodeMap.idl \
+ XNodeList.idl \
+ XNotation.idl \
+ XProcessingInstruction.idl \
+ SAXDocumentBuilder.idl \
+ XSAXDocumentBuilder.idl \
+ SAXDocumentBuilderState.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
+
+
+
+
+
+
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 000000000000..e0fc60c27a25
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/views/XAbstractView.idl
@@ -0,0 +1,41 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xml_dom_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
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 000000000000..5e6809dac6a7
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/views/XDocumentView.idl
@@ -0,0 +1,39 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xml_dom_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
diff --git a/offapi/com/sun/star/xml/dom/views/makefile.mk b/offapi/com/sun/star/xml/dom/views/makefile.mk
new file mode 100644
index 000000000000..77f45f0045cf
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/views/makefile.mk
@@ -0,0 +1,53 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssdomviews
+PACKAGE=com$/sun$/star$/xml$/dom$/views
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ XAbstractView.idl \
+ XDocumentView.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
+
+
+
+
+
+
diff --git a/offapi/com/sun/star/xml/input/SaxDocumentHandler.idl b/offapi/com/sun/star/xml/input/SaxDocumentHandler.idl
new file mode 100644
index 000000000000..d14e405fe8a4
--- /dev/null
+++ b/offapi/com/sun/star/xml/input/SaxDocumentHandler.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#if ! defined INCLUDED__com_sun_star_xml_input_SaxDocumentHandler_idl__
+#define INCLUDED__com_sun_star_xml_input_SaxDocumentHandler_idl__
+
+#include <com/sun/star/xml/input/XRoot.idl>
+#include <com/sun/star/xml/sax/XDocumentHandler.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+
+
+module com { module sun { module star { module xml { module input {
+
+/** This service helps parsing files by providing a SAX document handler
+ interface for a SAX parsers.
+ You have to instantiate this service passing an XRoot instance.
+
+ @internal
+*/
+service SaxDocumentHandler
+{
+ /** to be passed to a SAX parser
+ */
+ interface com::sun::star::xml::sax::XDocumentHandler;
+
+ /** to be used to pass XRoot object
+ */
+ interface com::sun::star::lang::XInitialization;
+};
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/xml/input/XAttributes.idl b/offapi/com/sun/star/xml/input/XAttributes.idl
new file mode 100644
index 000000000000..2e026da99662
--- /dev/null
+++ b/offapi/com/sun/star/xml/input/XAttributes.idl
@@ -0,0 +1,127 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#if ! defined INCLUDED__com_sun_star_xml_input_XAttributes_idl__
+#define INCLUDED__com_sun_star_xml_input_XAttributes_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module xml { module input {
+
+/** An element's attributes
+
+ @internal
+*/
+interface XAttributes : com::sun::star::uno::XInterface
+{
+ /** Gets the number of attributes.
+
+ @return
+ number of attributes
+ */
+ long getLength();
+
+ /** Gets attribute index passing a QName.
+
+ @param qName
+ QName
+ @return
+ attribute index or -1, if not found
+ */
+ long getIndexByQName( [in] string qName );
+
+ /** Gets attribute index passing a namespace uid and a localname.
+
+ @param uid
+ namespace uid
+ @param localName
+ localname
+ @return
+ attribute index or -1, if not found
+ */
+ long getIndexByUidName( [in] long uid, [in] string localName );
+
+ /** Gets the QName of an attribute.
+
+ @param nIndex
+ index
+ @return
+ QName of attribute or empty string, if invalid index
+ */
+ string getQNameByIndex( [in] long nIndex );
+
+ /** Gets the namespace uid of an attribute.
+
+ @param nIndex
+ index
+ @return
+ namespace uid of attribute or -1, if invalid index
+ */
+ long getUidByIndex( [in] long nIndex );
+
+ /** Gets the localname of an attribute.
+
+ @param nIndex
+ index
+ @return
+ localname of attribute or empty string, if invalid index
+ */
+ string getLocalNameByIndex( [in] long nIndex );
+
+ /** Gets the value of an attribute.
+
+ @param nIndex
+ index
+ @return
+ value string or empty string, if invalid index
+ */
+ string getValueByIndex( [in] long nIndex );
+
+ /** For convenience: Gets the value of an attribute passing uid, localname.
+
+ @param uid
+ namespace uid
+ @param localName
+ localname
+ @return
+ value string or empty string, if invalid uid/localname
+ */
+ string getValueByUidName( [in] long uid, [in] string localName );
+
+ /** Gets the type of an attribute, if possible.
+
+ @param nIndex
+ index
+ @return
+ type of attribute (if possible, else empty string)
+ */
+ string getTypeByIndex( [in] long nIndex );
+};
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/xml/input/XElement.idl b/offapi/com/sun/star/xml/input/XElement.idl
new file mode 100644
index 000000000000..3c151cf4eed3
--- /dev/null
+++ b/offapi/com/sun/star/xml/input/XElement.idl
@@ -0,0 +1,120 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#if ! defined INCLUDED__com_sun_star_xml_input_XElement_idl__
+#define INCLUDED__com_sun_star_xml_input_XElement_idl__
+
+#include <com/sun/star/xml/input/XAttributes.idl>
+#include <com/sun/star/xml/sax/SAXException.idl>
+
+
+module com { module sun { module star { module xml { module input {
+
+/** Capsule around an XML element.
+
+ @internal
+*/
+interface XElement : com::sun::star::uno::XInterface
+{
+ /** Gets the parent context.
+
+ @return
+ parent context
+ */
+ XElement getParent();
+
+ /** Gets the localname of this element.
+
+ @return
+ localname of this element
+ */
+ string getLocalName();
+
+ /** Gets the namespace uid of this element.
+
+ @return
+ namespace uid of this element
+ */
+ long getUid();
+
+ /** Gets the attributes of this element.
+
+ @return
+ attributes of this element
+ */
+ XAttributes getAttributes();
+
+ /** Called upon each occuring child element.
+
+ @param uid
+ namespace uid of element
+ @param localName
+ localname of element
+ @param xAttributes
+ attributes of element
+ @return
+ child import context
+ */
+ XElement startChildElement(
+ [in] long uid, [in] string localName, [in] XAttributes xAttributes )
+ raises (com::sun::star::xml::sax::SAXException);
+
+ /** Called upon retrieval of characters.
+
+ @param chars
+ characters
+ */
+ void characters( [in] string chars )
+ raises (com::sun::star::xml::sax::SAXException);
+
+ /** Receives notification of white space that can be ignored.
+
+ @param whitespace
+ white space characters
+ */
+ void ignorableWhitespace( [in] string whitespace )
+ raises (com::sun::star::xml::sax::SAXException);
+
+ /** Receives notification of a processing instruction.
+
+ @param target
+ target
+ @param data
+ data
+ */
+ void processingInstruction(
+ [in] string target, [in] string data )
+ raises (com::sun::star::xml::sax::SAXException);
+
+ /** Receives notification of element closing.
+ */
+ void endElement()
+ raises (com::sun::star::xml::sax::SAXException);
+};
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/xml/input/XNamespaceMapping.idl b/offapi/com/sun/star/xml/input/XNamespaceMapping.idl
new file mode 100644
index 000000000000..19c5150771ae
--- /dev/null
+++ b/offapi/com/sun/star/xml/input/XNamespaceMapping.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#if ! defined INCLUDED_com_sun_star_sax_input_XUidMapping_idl
+#define INCLUDED_com_sun_star_sax_input_XUidMapping_idl
+
+#include <com/sun/star/container/NoSuchElementException.idl>
+
+
+module com { module sun { module star { module xml { module input {
+
+/** Interface to map XML namespace URI strings to ordinals (URI-id, short uid).
+
+ @internal
+*/
+interface XNamespaceMapping : com::sun::star::uno::XInterface
+{
+ /** Creates a unique ordinal passing an XML namespace URI.
+
+ @param uri
+ XML namespace URI
+ @return
+ uid
+ */
+ long getUidByUri( [in] string uri );
+
+ /** Gets the corresponding XML namespace URI passing a uid (created using
+ getUidByUri()).
+
+ @param uid
+ uid
+ @return
+ XML namespace URI
+ */
+ string getUriByUid( [in] long uid )
+ raises (com::sun::star::container::NoSuchElementException);
+};
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/xml/input/XRoot.idl b/offapi/com/sun/star/xml/input/XRoot.idl
new file mode 100644
index 000000000000..41bfefc2a76f
--- /dev/null
+++ b/offapi/com/sun/star/xml/input/XRoot.idl
@@ -0,0 +1,97 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#if ! defined INCLUDED__com_sun_star_xml_input_XRoot_idl__
+#define INCLUDED__com_sun_star_xml_input_XRoot_idl__
+
+#include <com/sun/star/xml/input/XNamespaceMapping.idl>
+#include <com/sun/star/xml/input/XElement.idl>
+#include <com/sun/star/xml/input/XAttributes.idl>
+#include <com/sun/star/xml/sax/SAXException.idl>
+#include <com/sun/star/xml/sax/XLocator.idl>
+
+
+module com { module sun { module star { module xml { module input {
+
+/** Root interface being passed to SaxDocumentHandler service upon
+ instantiation.
+
+ @internal
+*/
+interface XRoot : com::sun::star::uno::XInterface
+{
+ /** Receives notification of the beginning of a document.
+
+ @param xMapping
+ mapping to obtain ids out of XML namespace URIs
+ and vice versa
+ */
+ void startDocument(
+ [in] XNamespaceMapping xMapping )
+ raises (com::sun::star::xml::sax::SAXException);
+
+ /** Receives notification of the end of a document.
+ */
+ void endDocument()
+ raises (com::sun::star::xml::sax::SAXException);
+
+ /** Receives notification of a processing instruction.
+
+ @param target
+ target
+ @param data
+ data
+ */
+ void processingInstruction(
+ [in] string target, [in] string data )
+ raises (com::sun::star::xml::sax::SAXException);
+
+ /** Receives an object for locating the origin of SAX document events.
+
+ @param locator
+ locator
+ */
+ void setDocumentLocator(
+ [in] com::sun::star::xml::sax::XLocator locator )
+ raises (com::sun::star::xml::sax::SAXException);
+
+ /** Called upon root element.
+
+ @param uid
+ namespace uid of element
+ @param localName
+ localname of element
+ @param xAattributes
+ attributes of element
+ */
+ XElement startRootElement(
+ [in] long uid, [in] string localName, [in] XAttributes xAttributes )
+ raises (com::sun::star::xml::sax::SAXException);
+};
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/xml/input/makefile.mk b/offapi/com/sun/star/xml/input/makefile.mk
new file mode 100644
index 000000000000..d0f7b0aa2f5b
--- /dev/null
+++ b/offapi/com/sun/star/xml/input/makefile.mk
@@ -0,0 +1,51 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ = ..$/..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET = cssxmlinput
+PACKAGE = com$/sun$/star$/xml$/input
+
+# --- Settings -----------------------------------------------------
+
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------
+
+IDLFILES = \
+ XRoot.idl \
+ XElement.idl \
+ XAttributes.idl \
+ XNamespaceMapping.idl \
+ SaxDocumentHandler.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/xml/makefile.mk b/offapi/com/sun/star/xml/makefile.mk
new file mode 100644
index 000000000000..4aa46f6c46e7
--- /dev/null
+++ b/offapi/com/sun/star/xml/makefile.mk
@@ -0,0 +1,60 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssxml
+PACKAGE=com$/sun$/star$/xml
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ AttributeContainer.idl \
+ AttributeData.idl \
+ Attribute.idl \
+ ExportFilter.idl \
+ FastAttribute.idl \
+ ImportFilter.idl \
+ NamespaceContainer.idl \
+ ParaUserDefinedAttributesSupplier.idl \
+ TextUserDefinedAttributesSupplier.idl \
+ UserDefinedAttributesSupplier.idl \
+ UserDefinedAttributeSupplier.idl \
+ XExportFilter.idl \
+ XImportFilter.idl \
+ XMLExportFilter.idl \
+ XMLImportFilter.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/xml/sax/FastShapeContextHandler.idl b/offapi/com/sun/star/xml/sax/FastShapeContextHandler.idl
new file mode 100644
index 000000000000..fae70b3c84c0
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/FastShapeContextHandler.idl
@@ -0,0 +1,45 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xml_sax_FastShapeContextHandler_idl__
+#define __com_sun_star_xml_sax_FastShapeContextHandler_idl__
+
+#ifndef __com_sun_star_xml_sax_XFastShapeContextHandler_idl__
+#include <com/sun/star/xml/sax/XFastShapeContextHandler.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module xml { module sax {
+
+service FastShapeContextHandler : XFastShapeContextHandler
+{
+};
+
+}; }; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/xml/sax/FastToken.idl b/offapi/com/sun/star/xml/sax/FastToken.idl
new file mode 100644
index 000000000000..baec31bb7fb9
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/FastToken.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xml_sax_XFastToken_idl__
+#define __com_sun_star_xml_sax_XFastToken_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module xml { module sax {
+
+//============================================================================
+
+constants FastToken
+{
+ //-------------------------------------------------------------------------
+
+ /** specifies an unknown token.
+ */
+ const long DONTKNOW = -1;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the first namespace token
+ */
+ const long NAMESPACE = 0x00010000;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/xml/sax/FastTokenHandler.idl b/offapi/com/sun/star/xml/sax/FastTokenHandler.idl
new file mode 100644
index 000000000000..e0020c33d883
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/FastTokenHandler.idl
@@ -0,0 +1,43 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xml_sax_FastTokenHandler_idl__
+#define __com_sun_star_xml_sax_FastTokenHandler_idl__
+
+#include <com/sun/star/xml/sax/XFastTokenHandler.idl>
+
+//=============================================================================
+
+module com { module sun { module star { module xml { module sax {
+
+service FastTokenHandler : XFastTokenHandler
+{
+};
+
+}; }; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/xml/sax/InputSource.idl b/offapi/com/sun/star/xml/sax/InputSource.idl
new file mode 100644
index 000000000000..dafffbd31695
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/InputSource.idl
@@ -0,0 +1,88 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xml_sax_InputSource_idl__
+#define __com_sun_star_xml_sax_InputSource_idl__
+
+#ifndef __com_sun_star_io_XInputStream_idl__
+#include <com/sun/star/io/XInputStream.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module xml { module sax {
+
+//=============================================================================
+
+/** specifies the Datasource plus some additional information for the parser.
+
+ <p>There are two places where the application will deliver this input
+ source to the parser:
+ </p>
+ <ul>
+ <li>as the argument of <method>XParser::parseStream</method></li>
+ <li>as the return value of <method>XEntityReslover::resolveEntity</method>.
+ </li>
+ </ul>
+ */
+published struct InputSource
+{
+ /** contains the byte input stream of the document.
+ */
+ com::sun::star::io::XInputStream aInputStream;
+
+ //-------------------------------------------------------------------------
+
+ /** contains the encoding of the data stream. This is used by the parser
+ to do unicode conversions.
+
+ <p>Note that in general you do not need to specify an encoding.
+ Either it is UTF-8 or UTF-16 which is recognized by the parser
+ or it is specified in the first line of the XML-File
+ ( e.g. <em>?xml encoding="EUC-JP"?</em> ).</p>
+ */
+ string sEncoding;
+
+ //-------------------------------------------------------------------------
+
+ /** constains the public Id of the document, for example, needed in
+ exception-message strings.
+ */
+ string sPublicId;
+
+ //-------------------------------------------------------------------------
+
+ /** contains the sytemID of the document.
+ */
+ string sSystemId;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/xml/sax/SAXException.idl b/offapi/com/sun/star/xml/sax/SAXException.idl
new file mode 100644
index 000000000000..e7257352fa45
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/SAXException.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xml_sax_SAXException_idl__
+#define __com_sun_star_xml_sax_SAXException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module xml { module sax {
+
+//=============================================================================
+
+/** encapsulates the details of an XML parse error or warning.
+
+ <p>This structure is a replacement for the Java class
+ <em>org.xml.sax.SAXException</em>. </p>
+
+ <p>Some abbreviations: </p>
+ <ul>
+ <li>SAX = Simple API for XML </li>
+ <li>URI = Uniform Resource Identifier </li>
+ <li>DTD = document type definition </li>
+ */
+published exception SAXException: com::sun::star::uno::Exception
+{
+ //-------------------------------------------------------------------------
+
+ /** This field may contain a wrapped exception.
+ */
+ any WrappedException;
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/xml/sax/SAXInvalidCharacterException.idl b/offapi/com/sun/star/xml/sax/SAXInvalidCharacterException.idl
new file mode 100644
index 000000000000..162d8b3cbb83
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/SAXInvalidCharacterException.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xml_sax_SAXInvalidCharacterException_idl__
+#define __com_sun_star_xml_sax_SAXInvalidCharacterException_idl__
+
+#ifndef __com_sun_star_xml_sax_SAXException_idl__
+#include <com/sun/star/xml/sax/SAXException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module xml { module sax {
+
+//=============================================================================
+
+/** stores information for locating the error in the original XML document.
+
+ @see XLocater
+ */
+published exception SAXInvalidCharacterException: com::sun::star::xml::sax::SAXException
+{
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/xml/sax/SAXParseException.idl b/offapi/com/sun/star/xml/sax/SAXParseException.idl
new file mode 100644
index 000000000000..9c7993fb854c
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/SAXParseException.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xml_sax_SAXParseException_idl__
+#define __com_sun_star_xml_sax_SAXParseException_idl__
+
+#ifndef __com_sun_star_xml_sax_SAXException_idl__
+#include <com/sun/star/xml/sax/SAXException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module xml { module sax {
+
+//=============================================================================
+
+/** stores information for locating the error in the original XML document.
+
+ @see XLocater
+ */
+published exception SAXParseException: com::sun::star::xml::sax::SAXException
+{
+ //-------------------------------------------------------------------------
+
+ /** contains the public identifier of the document where the exception
+ has occurred.
+ */
+ string PublicId;
+
+ //-------------------------------------------------------------------------
+
+ /** contains the system identifier of the document.
+ */
+ string SystemId;
+
+ //-------------------------------------------------------------------------
+
+ /** contains the line number in the document.
+ */
+ long LineNumber;
+
+ //-------------------------------------------------------------------------
+
+ /** contains the column number in the document.
+ */
+ long ColumnNumber;
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/xml/sax/XAttributeList.idl b/offapi/com/sun/star/xml/sax/XAttributeList.idl
new file mode 100644
index 000000000000..f7b24418410d
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/XAttributeList.idl
@@ -0,0 +1,102 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xml_sax_XAttributeList_idl__
+#define __com_sun_star_xml_sax_XAttributeList_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module xml { module sax {
+
+//=============================================================================
+
+/** specifies an element's attributes.
+
+ <p>This interface describes a name-type-value triple which describes a
+ single attribute of a tag. Implementors are encouraged to implement the
+ <type scope="com::sun::star::util">XCloneable</type> interface also to
+ allow the user to make a copy of the instance.
+
+ </p>
+ <p>This interface is an IDL version of the Java interface
+ <em>org.xml.sax.AttributeList</em>.</p>
+ */
+published interface XAttributeList: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** @returns
+ the number of attributes in this list.
+ */
+ short getLength();
+
+ //-------------------------------------------------------------------------
+
+ /** @returns
+ the name of an attribute in this list (by position).
+ */
+ string getNameByIndex( [in] short i );
+
+ //-------------------------------------------------------------------------
+
+ /** @returns
+ the type of an attribute in the list (by position).
+ Non-validating parsers may return CDATA only.
+ */
+ string getTypeByIndex( [in] short i );
+
+ //-------------------------------------------------------------------------
+
+ /** @returns
+ the type of an attribute in the list (by name).
+ Non-validating parsers may return CDATA only.
+ */
+ string getTypeByName( [in] string aName );
+
+ //-------------------------------------------------------------------------
+
+ /** @returns
+ the value of an attribute in the list (by position).
+ */
+ string getValueByIndex( [in] short i );
+
+ //-------------------------------------------------------------------------
+
+ /** @returns
+ the value of an attribute in the list (by name).
+ */
+ string getValueByName( [in] string aName );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/xml/sax/XDTDHandler.idl b/offapi/com/sun/star/xml/sax/XDTDHandler.idl
new file mode 100644
index 000000000000..184850386f11
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/XDTDHandler.idl
@@ -0,0 +1,79 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xml_sax_XDTDHandler_idl__
+#define __com_sun_star_xml_sax_XDTDHandler_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module xml { module sax {
+
+//=============================================================================
+
+/** receives events according to the DTD of the document.
+
+ <p>The SAX parser may report these events in any order, regardless of the
+ order in which the notations and unparsed entities were declared; however,
+ all DTD events must be reported after the document handler's
+ <code>startDocument</code> event, and before the first <code>startElement</code>
+ event. It is up to the application to store the information for future
+ use (perhaps in a hash table or object tree). If the application encounters
+ attributes of type "NOTATION", "ENTITY", or "ENTITIES", it can use the
+ information that it obtained through this interface to find the entity
+ and/or notation that corresponds with the attribute value.
+ </p>
+ */
+published interface XDTDHandler: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** receives notification of a notation declaration event.
+ */
+ void notationDecl( [in] string sName,
+ [in] string sPublicId,
+ [in] string sSystemId );
+
+ //-------------------------------------------------------------------------
+
+ /** receives notification of an unparsed entity declaration event.
+ */
+ void unparsedEntityDecl( [in] string sName,
+ [in] string sPublicId,
+ [in] string sSystemId,
+ [in] string sNotationName );
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/xml/sax/XDocumentHandler.idl b/offapi/com/sun/star/xml/sax/XDocumentHandler.idl
new file mode 100644
index 000000000000..6586ba99a66b
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/XDocumentHandler.idl
@@ -0,0 +1,125 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xml_sax_XDocumentHandler_idl__
+#define __com_sun_star_xml_sax_XDocumentHandler_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_SAXException_idl__
+#include <com/sun/star/xml/sax/SAXException.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_XAttributeList_idl__
+#include <com/sun/star/xml/sax/XAttributeList.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_XLocator_idl__
+#include <com/sun/star/xml/sax/XLocator.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module xml { module sax {
+
+//=============================================================================
+
+/** receives notification of general document events.
+
+ <p>This interface is an IDL version of the Java interface
+ <em>org.xml.sax.DocumentHandler</em> with some smaller
+ adaptations.</p>
+ */
+published interface XDocumentHandler: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** receives notification of the beginning of a document.
+ */
+ void startDocument()
+ raises( com::sun::star::xml::sax::SAXException );
+
+ //-------------------------------------------------------------------------
+
+ /** receives notification of the end of a document.
+ */
+ void endDocument()
+ raises( com::sun::star::xml::sax::SAXException );
+
+ //-------------------------------------------------------------------------
+
+ /** receives notification of the beginning of an element .
+ */
+ void startElement( [in] string aName,
+ [in] com::sun::star::xml::sax::XAttributeList xAttribs )
+ raises( com::sun::star::xml::sax::SAXException );
+
+ //-------------------------------------------------------------------------
+
+ /** receives notification of the end of an element.
+ */
+ void endElement( [in] string aName )
+ raises( com::sun::star::xml::sax::SAXException );
+
+ //-------------------------------------------------------------------------
+
+ /** receives notification of character data.
+ */
+ void characters( [in] string aChars )
+ raises( com::sun::star::xml::sax::SAXException );
+
+ //-------------------------------------------------------------------------
+
+ /** receives notification of white space that can be ignored.
+ */
+ void ignorableWhitespace( [in] string aWhitespaces )
+ raises( com::sun::star::xml::sax::SAXException );
+
+ //-------------------------------------------------------------------------
+
+ /** receives notification of a processing instruction.
+ */
+ void processingInstruction( [in] string aTarget,
+ [in] string aData )
+ raises( com::sun::star::xml::sax::SAXException );
+
+ //-------------------------------------------------------------------------
+
+ /** receives an object for locating the origin of SAX document events.
+ */
+ void setDocumentLocator( [in] com::sun::star::xml::sax::XLocator xLocator )
+ raises( com::sun::star::xml::sax::SAXException );
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/xml/sax/XEntityResolver.idl b/offapi/com/sun/star/xml/sax/XEntityResolver.idl
new file mode 100644
index 000000000000..0638f72ba94c
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/XEntityResolver.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xml_sax_XEntityResolver_idl__
+#define __com_sun_star_xml_sax_XEntityResolver_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_InputSource_idl__
+#include <com/sun/star/xml/sax/InputSource.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module xml { module sax {
+
+//=============================================================================
+
+/** makes it possible to modify the behaviour of resolving external
+ preferences.
+
+ <p>Usually, the parser has a default behaviour of resolving external
+ references (See documentation of the parser implementation).
+ Use this interface to modify or reimplement this behaviour.</p>
+ */
+published interface XEntityResolver: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** @returns
+ <type>InputSource</type> for the external entity.
+
+ <p>If <var>aInputStream</var> is a valid reference to an input stream,
+ the parser uses this <type>InputSource</type>. Otherwise the
+ parser seeks for the entity using its default behaviour.
+ */
+ InputSource resolveEntity( [in] string sPublicId, [in] string sSystemId );
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/xml/sax/XErrorHandler.idl b/offapi/com/sun/star/xml/sax/XErrorHandler.idl
new file mode 100644
index 000000000000..2d799fc6afdc
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/XErrorHandler.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xml_sax_XErrorHandler_idl__
+#define __com_sun_star_xml_sax_XErrorHandler_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_SAXException_idl__
+#include <com/sun/star/xml/sax/SAXException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module xml { module sax {
+
+//=============================================================================
+
+/** is the basic interface for SAX error handlers.
+
+ <p>If a SAX application needs to implement customized error handling,
+ it must implement this interface and then register an instance with the
+ SAX parser using the parser's <method>XParser::setErrorhandler</method>
+ method. The parser will then report all errors and warnings through this
+ interface. </p>
+
+ <p>This interface is a slight adaption of the Java interface
+ <code>org.xml.sax.ErrorHandler</code>. In IDL, no exception can be passed
+ as an argument, so an <code>any</code> serves as the container. The type of the
+ exception is <type>SAXParseException</type> or an instance of a derived class.</p>
+ */
+published interface XErrorHandler: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** receives notification of a recoverable error.
+ */
+ void error( [in] any aSAXParseException )
+ raises( com::sun::star::xml::sax::SAXException );
+
+ //-------------------------------------------------------------------------
+ /** receives notification of a non-recoverable error.
+ */
+ void fatalError( [in] any aSAXParseException )
+ raises( com::sun::star::xml::sax::SAXException );
+
+ //-------------------------------------------------------------------------
+ /** receives notification of a warning.
+ */
+ void warning( [in] any aSAXParseException )
+ raises( com::sun::star::xml::sax::SAXException );
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/xml/sax/XExtendedDocumentHandler.idl b/offapi/com/sun/star/xml/sax/XExtendedDocumentHandler.idl
new file mode 100644
index 000000000000..5801a22a2517
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/XExtendedDocumentHandler.idl
@@ -0,0 +1,95 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xml_sax_XExtendedDocumentHandler_idl__
+#define __com_sun_star_xml_sax_XExtendedDocumentHandler_idl__
+
+#ifndef __com_sun_star_xml_sax_XDocumentHandler_idl__
+#include <com/sun/star/xml/sax/XDocumentHandler.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_SAXException_idl__
+#include <com/sun/star/xml/sax/SAXException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module xml { module sax {
+
+//=============================================================================
+
+/** this interface does not conform to the SAX-standard.
+
+ <p>Note: Whether or not every callback is supported is dependent
+ on the parser implementation.
+ */
+published interface XExtendedDocumentHandler: com::sun::star::xml::sax::XDocumentHandler
+{
+ //-------------------------------------------------------------------------
+ /** receives notification about the start of a CDATA section in the
+ XML-source.
+
+ <p>Any string comming in via character handler may include chars,
+ that would otherwise be interpreted as markup. </p>
+ */
+ void startCDATA()
+ raises( com::sun::star::xml::sax::SAXException );
+
+ //-------------------------------------------------------------------------
+ /** informs about the end of a CDATA-Section.
+
+ <p>Note that <code>startCDATA/endCDATA</code> MUST NOT enclose any
+ <code>startElement/endElement</code>-call!</p>
+ */
+ void endCDATA();
+
+ //-------------------------------------------------------------------------
+ /** receives notification about a comment in the XML-source.
+ */
+ void comment( [in] string sComment )
+ raises( com::sun::star::xml::sax::SAXException );
+
+ //-------------------------------------------------------------------------
+ /** informs a writer that it is allowable to insert a line break and
+ indentation before the next <type>XDocumentHandler</type>-call.
+ */
+ void allowLineBreak()
+ raises( com::sun::star::xml::sax::SAXException );
+
+ //-------------------------------------------------------------------------
+ /** notifies that any characters that cannot be handled by other callback
+ methods are announced through this method.
+ */
+ void unknown( [in] string sString )
+ raises( com::sun::star::xml::sax::SAXException );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/xml/sax/XFastAttributeList.idl b/offapi/com/sun/star/xml/sax/XFastAttributeList.idl
new file mode 100644
index 000000000000..a48e0e5b9337
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/XFastAttributeList.idl
@@ -0,0 +1,180 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xml_sax_XFastAttributeList_idl__
+#define __com_sun_star_xml_sax_XFastAttributeList_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_xml_Attribute_idl__
+#include <com/sun/star/xml/Attribute.idl>
+#endif
+
+#ifndef __com_sun_star_xml_FastAttribute_idl__
+#include <com/sun/star/xml/FastAttribute.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_SAXException_idl__
+#include <com/sun/star/xml/sax/SAXException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module xml { module sax {
+
+//=============================================================================
+
+/** a container for the attributes of an xml element.
+
+ <br>Attributes are seperated into known attributes and unknown attributes.
+ <p>Known attributes have a local name that is known to the <type>XFastTokenHandler</token>
+ registered at the <type>XFastParser</type> which created the sax event containing
+ this attributes. If an attribute also has a namespace, that must be registered
+ at the <type>XFastParser</type>, else this attribute is also unknown even if
+ the local name is known.
+ */
+interface XFastAttributeList: com::sun::star::uno::XInterface
+{
+ /** checks if an attribute is available.<br>
+
+ @param Token
+ contains the integer token from the <type>XFastTokenHandler</type>
+ registered at the <type>XFastParser</type>.<br>
+
+ If the attribute name has a namespace that was registered with the
+ <type>XFastParser</type>, Token contains the integer token of the
+ attributes local name from the <type>XFastTokenHandler</type> and
+ the integer token of the namespace combined with an arithmetic
+ <b>or</b> operation.
+
+ @returns
+ <TRUE/>, if the attribute is available
+ */
+ boolean hasAttribute( [in] long Token );
+
+ /** retrieves the token of an attributes value.<br>
+
+ @param Token
+ contains the integer token from the <type>XFastTokenHandler</type>
+ registered at the <type>XFastParser</type>.<br>
+
+ If the attribute name has a namespace that was registered with the
+ <type>XFastParser</type>, Token contains the integer token of the
+ attributes local name from the <type>XFastTokenHandler</type> and
+ the integer token of the namespace combined with an arithmetic
+ <b>or</b> operation.
+
+ @returns
+ The integer token of the value from the attribute or <const>FastToken::Invalid</const>
+
+ @raises SAXEXception
+ if the attribute is not available
+
+ */
+ long getValueToken( [in] long Token )
+ raises( SAXException );
+
+ /**retrieves the token of an attributes value.<br>
+
+ @param Token
+ contains the integer token from the <type>XFastTokenHandler</type>
+ registered at the <type>XFastParser</type>.<br>
+
+ If the attribute name has a namespace that was registered with the
+ <type>XFastParser</type>, Token contains the integer token of the
+ attributes local name from the <type>XFastTokenHandler</type> and
+ the integer token of the namespace combined with an arithmetic
+ <b>or</b> operation.
+
+ @param Default
+ This value will be returned if the attribute is not available
+
+ @returns
+ If the attribute is available it returns the integer token of the value
+ from the attribute or <const>FastToken::Invalid</const>.
+ If not the value of <param>Default</param> is returned.
+
+ */
+ long getOptionalValueToken( [in] long Token, [in] long Default );
+
+ /** retrieves the value of an attributes.<br>
+
+ @param Token
+ contains the integer token from the <type>XFastTokenHandler</type>
+ registered at the <type>XFastParser</type>.<br>
+
+ If the attribute name has a namespace that was registered with the
+ <type>XFastParser</type>, Token contains the integer token of the
+ attributes local name from the <type>XFastTokenHandler</type> and
+ the integer token of the namespace combined with an arithmetic
+ <b>or</b> operation.
+
+ @returns
+ The string value from the attribute.
+
+ @raises SAXEXception
+ if the attribute is not available
+
+ */
+ string getValue( [in] long Token )
+ raises( SAXException );
+
+ /** retrieves the value of an attributes.<br>
+
+ @param Token
+ contains the integer token from the <type>XFastTokenHandler</type>
+ registered at the <type>XFastParser</type>.<br>
+
+ If the attribute name has a namespace that was registered with the
+ <type>XFastParser</type>, Token contains the integer token of the
+ attributes local name from the <type>XFastTokenHandler</type> and
+ the integer token of the namespace combined with an arithmetic
+ <b>or</b> operation.
+
+ @returns
+ The string value from the attribute or an empty string if the
+ attribute is not available.
+ */
+ string getOptionalValue( [in] long Token );
+
+ /** returns a sequence of attributes which names and or namespaces URLS
+ can not be translated to tokens.
+ */
+ sequence< ::com::sun::star::xml::Attribute > getUnknownAttributes();
+
+ /** returns a sequence of attributes which names and or namespaces URLS
+ are translated to tokens.
+ */
+ sequence< ::com::sun::star::xml::FastAttribute > getFastAttributes();
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/xml/sax/XFastContextHandler.idl b/offapi/com/sun/star/xml/sax/XFastContextHandler.idl
new file mode 100644
index 000000000000..22feebe6f5a0
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/XFastContextHandler.idl
@@ -0,0 +1,161 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xml_sax_XFastContextHandler_idl__
+#define __com_sun_star_xml_sax_XFastContextHandler_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_SAXException_idl__
+#include <com/sun/star/xml/sax/SAXException.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_XFastAttributeList_idl__
+#include <com/sun/star/xml/sax/XFastAttributeList.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_XLocator_idl__
+#include <com/sun/star/xml/sax/XLocator.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module xml { module sax {
+
+//=============================================================================
+
+/** receives notification of sax document events from a
+ <type>XFastParser</type>.
+
+ @see XFastDocumentHandler
+ */
+interface XFastContextHandler: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** receives notification of the beginning of an element .
+
+ @param Element
+ contains the integer token from the <type>XFastTokenHandler</type>
+ registered at the <type>XFastParser</type>.<br>
+
+ If the element has a namespace that was registered with the
+ <type>XFastParser</type>, <param>Element</param> contains the integer
+ token of the elements local name from the <type>XFastTokenHandler</type>
+ and the integer token of the namespace combined with an arithmetic
+ <b>or</b> operation.
+
+ @param Attribs
+ Contains a <type>XFastAttrbitueList</type> to access the attributes
+ from the element.
+
+ */
+ void startFastElement( [in] long Element, [in] XFastAttributeList Attribs )
+ raises( com::sun::star::xml::sax::SAXException );
+
+ //-------------------------------------------------------------------------
+
+ /** receives notification of the beginning of an unknown element .
+
+ @param Namespace
+ contains the namespace url (not the prefix!) of this element.
+ @param Name
+ contains the elements local name.
+ @param Attribs
+ Contains a <type>XFastAttrbitueList</type> to access the attributes
+ from the element.
+ */
+ void startUnknownElement( [in] string Namespace, [in] string Name, [in] XFastAttributeList Attribs )
+ raises( com::sun::star::xml::sax::SAXException );
+
+ //-------------------------------------------------------------------------
+
+ /** receives notification of the end of an known element.
+ @see startFastElement
+ */
+ void endFastElement( [in] long Element )
+ raises( com::sun::star::xml::sax::SAXException );
+
+ //-------------------------------------------------------------------------
+
+ /** receives notification of the end of an kown element.
+ @see startUnknownElement
+ */
+ void endUnknownElement( [in] string Namespace, [in] string Name )
+ raises( com::sun::star::xml::sax::SAXException );
+
+ //-------------------------------------------------------------------------
+
+ /** receives notification of the beginning of a known child element.
+
+ @param Element
+ contains the integer token from the <type>XFastTokenHandler</type>
+ registered at the <type>XFastParser</type>.
+
+ <br>If the element has a namespace that was registered with the
+ <type>XFastParser</type>, <param>Element</param> contains the
+ integer token of the elements local name from the
+ <type>XFastTokenHandler</type> and the integer token of the
+ namespace combined with an arithmetic <b>or</b> operation.
+
+ @param Attribs
+ Contains a <type>XFastAttrbitueList</type> to access the attributes
+ from the element.
+ */
+ XFastContextHandler createFastChildContext( [in] long Element, [in] XFastAttributeList Attribs )
+ raises( com::sun::star::xml::sax::SAXException );
+
+ //-------------------------------------------------------------------------
+
+ /** receives notification of the beginning of a unknown child element .
+
+ @param Namespace
+ contains the namespace url (not the prefix!) of this element.
+ @param Name
+ contains the elements local name.
+ @param Attribs
+ Contains a <type>XFastAttrbitueList</type> to access the attributes
+ the element.
+ */
+ XFastContextHandler createUnknownChildContext( [in] string Namespace, [in] string Name, [in] XFastAttributeList Attribs )
+ raises( com::sun::star::xml::sax::SAXException );
+
+ //-------------------------------------------------------------------------
+
+ /** receives notification of character data.
+ */
+ void characters( [in] string aChars )
+ raises( com::sun::star::xml::sax::SAXException );
+ };
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/xml/sax/XFastDocumentHandler.idl b/offapi/com/sun/star/xml/sax/XFastDocumentHandler.idl
new file mode 100644
index 000000000000..a4b5c94b8142
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/XFastDocumentHandler.idl
@@ -0,0 +1,89 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xml_sax_XFastDocumentHandler_idl__
+#define __com_sun_star_xml_sax_XFastDocumentHandler_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_SAXException_idl__
+#include <com/sun/star/xml/sax/SAXException.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_XFastAttributeList_idl__
+#include <com/sun/star/xml/sax/XFastAttributeList.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_XFastContextHandler_idl__
+#include <com/sun/star/xml/sax/XFastContextHandler.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_XLocator_idl__
+#include <com/sun/star/xml/sax/XLocator.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module xml { module sax {
+
+//=============================================================================
+
+/** receives notification of sax document events from a
+ <type>XFastParser</type>
+ */
+interface XFastDocumentHandler: XFastContextHandler
+{
+ //-------------------------------------------------------------------------
+
+ /** called by the parser when parsing of an xml stream is started.
+ */
+ void startDocument()
+ raises( com::sun::star::xml::sax::SAXException );
+
+ //-------------------------------------------------------------------------
+
+ /** called by the parser after the last xml element of a stream is processed.
+ */
+ void endDocument()
+ raises( com::sun::star::xml::sax::SAXException );
+
+ //-------------------------------------------------------------------------
+
+ /** receives an object for locating the origin of SAX document events.
+ */
+ void setDocumentLocator( [in] com::sun::star::xml::sax::XLocator xLocator )
+ raises( com::sun::star::xml::sax::SAXException );
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/xml/sax/XFastParser.idl b/offapi/com/sun/star/xml/sax/XFastParser.idl
new file mode 100644
index 000000000000..037aa01f913b
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/XFastParser.idl
@@ -0,0 +1,196 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xml_sax_XFastParser_idl__
+#define __com_sun_star_xml_sax_XFastParser_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_InputSource_idl__
+#include <com/sun/star/xml/sax/InputSource.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_SAXException_idl__
+#include <com/sun/star/xml/sax/SAXException.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_XFastDocumentHandler_idl__
+#include <com/sun/star/xml/sax/XFastDocumentHandler.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_XFastTokenHandler_idl__
+#include <com/sun/star/xml/sax/XFastTokenHandler.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_XErrorHandler_idl__
+#include <com/sun/star/xml/sax/XErrorHandler.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_XDTDHandler_idl__
+#include <com/sun/star/xml/sax/XDTDHandler.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_XEntityResolver_idl__
+#include <com/sun/star/xml/sax/XEntityResolver.idl>
+#endif
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module xml { module sax {
+
+//=============================================================================
+
+/** specifies a SAX parser that uses integer values for known xml names
+ (elements, attributes and attribute values). The parser also handles
+ namespaces and allows to have individual contexts for each xml element.
+
+ <p>Before parsing is possible you have to set your
+ <type>XFastDocumentHandler</type> using <member>setFastDocumentHandler</member>.
+
+ <p>Parsing starts with calling <member>parseStream</member>. If the parser
+ finds a valid xml file with the given <type>InputSource</type>, it calls
+ <member>XFastDocumentHandler::startDocument</member> first.
+
+ <p>This parser generates either 'fast' events that use integer token
+ values for namespaces, elements and attributes or 'unknown' events for
+ elements that are unknown.
+
+ <p>A namespace is unknown if the namespace URL was not registered with
+ <member>registerNamespace</member>.
+
+ <p>An element is unknown if no <type>XFastTokenHandler</type> is set
+ or if the <type>XFastTokenHandler</type> does not return a valid
+ identifier for the elements local name. An element is also unknown if
+ the elements local name is known but it uses a namespace that is unknown.
+
+ <p>Setting a <type>XFastTokenHandler</type> with <member>setTokenHandler</member>
+ is optional, but without a <type>XFastTokenHandler</type> you will only
+ get unknown sax events. This can be usefull if you are only interested
+ in the namespace handling and/or the context feature.
+
+ <p>For each element the parser sends a create child element event to the
+ elements parent context by calling
+ <member>XFastContextHandler::createFastChildContext</member> for known
+ elements or <member>XFastContextHandler::createUnknownChildContext</member>
+ for unknown elements.
+ <br>The parent context for the root element is the <type>XFastDocumentHandler</type>
+ itself.
+
+ <p>If the parent context returns an empty reference, no further events for
+ the element and all of its childs are created.
+
+ <p>If a valid context is returned this context gets a start event by a call to
+ <member>XFastContextHandler::startFastElement</member> for known elements or
+ <member>XFastContextHandler::startUnknownElement</member> for unknown elements.
+
+ <p>After processing all its child elements the context gets an end event by a call to
+ <member>XFastContextHandler::endFastElement</member> for known elements or
+ <member>XFastContextHandler::endUnknownElement</member> for unknown elements.
+
+ <p>It is valid to return one instance of <type>XFastContextHandler</type> more
+ than once. It is even possible to only use the <type>XFastDocumentHandler</type>
+ by always returning a reference to itself for each create child context event.
+
+ <p>After the last element is processed the parser generates an end document
+ event at the <type>XFastDocumentHandler</type> by calling
+ <member>XFastDocumentHandler::endDocument</member>.
+
+ @see http://wiki.services.openoffice.org/wiki/FastParser
+*/
+interface XFastParser: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** parses an XML document from a stream.
+
+ <p>Set the desired handlers before calling this method.</p>
+ */
+ void parseStream( [in] InputSource aInputSource )
+ raises( SAXException, com::sun::star::io::IOException );
+
+ //-------------------------------------------------------------------------
+
+ /** Application must register a document event handler to get
+ sax events for the parsed stream.
+ */
+ void setFastDocumentHandler( [in] XFastDocumentHandler Handler );
+
+ //-------------------------------------------------------------------------
+
+ /** must be registered to translate known xml names to integer tokens.
+ */
+ void setTokenHandler( [in] XFastTokenHandler Handler );
+
+ //-------------------------------------------------------------------------
+
+ /** registers a known namespace url with the given integer token.<br>
+ @param NamespaceToken
+ an integer token that must be greater than FastToken::NAMESPACE.
+ */
+ void registerNamespace( [in] string NamespaceURL, [in] long NamespaceToken )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ //-------------------------------------------------------------------------
+ /** allows an application to register an error event handler.
+
+ <p>Note that the error handler can throw an exception when an error or
+ warning occurs. Note that an exception is thrown by the parser when
+ an unrecoverable (fatal) error occurs.</p>
+ */
+ void setErrorHandler( [in] XErrorHandler Handler );
+
+ //-------------------------------------------------------------------------
+ /** allows an application to register a DTD-Handler.
+ */
+ void setEntityResolver( [in] XEntityResolver Resolver );
+
+ //-------------------------------------------------------------------------
+ /** sets a locale specified for localization of warnings and error messages.
+
+ <p>Set the language of the error messages. Useful when the parsing
+ errors will be presented to the user.</p>
+ */
+ void setLocale( [in] com::sun::star::lang::Locale locale );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/xml/sax/XFastSAXSerializable.idl b/offapi/com/sun/star/xml/sax/XFastSAXSerializable.idl
new file mode 100644
index 000000000000..949d8ef2386b
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/XFastSAXSerializable.idl
@@ -0,0 +1,99 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_sax_XFastSAXSerializable_idl__
+#define __com_sun_star_xml_sax_XFastSAXSerializable_idl__
+
+#ifndef __com_sun_star_xml_sax_XFastDocumentHandler_idl__
+#include <com/sun/star/xml/sax/XFastDocumentHandler.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_XFastTokenHandler_idl__
+#include <com/sun/star/xml/sax/XFastTokenHandler.idl>
+#endif
+
+#ifndef __com_sun_star_beans_StringPair_idl__
+#include <com/sun/star/beans/StringPair.idl>
+#endif
+
+#ifndef __com_sun_star_beans_Pair_idl__
+#include <com/sun/star/beans/Pair.idl>
+#endif
+
+module com { module sun { module star { module xml { module sax {
+
+//=============================================================================
+/** serializes a DOM tree by generating FastSAX events.
+
+ <p>
+ </p>
+
+ @since OOo 3.1
+
+*/
+interface XFastSAXSerializable
+{
+
+ //-------------------------------------------------------------------------
+ /** serializes an object (e.g. a DOM tree) that represents an XML document
+ by generating fast SAX events.
+
+ @param handler
+ the SAX event handler that should receive the generated events
+ @param tokenHandler
+ the fast SAX token handler that is used to translate names
+ @param namespaces
+ a list of namespace declarations that will be added to the root
+ element node of the XML document
+ <p>
+ This is necessary mostly because the DOM implementation does
+ not permit attaching namespaces declarations directly to nodes,
+ which may lead to duplicate namespace declarations on export,
+ and thus larger documents.
+ Note that the first part of each tuple is the prefix,
+ e.g. "office", and the second is the numeric namespace identifier.
+ </p>
+ @param registerNamespaces
+ a list of namespace url / namespace token pairs. you need
+ to register all namespace in order to have them recognized
+ during export. Namespace tokens must be greater than
+ FastToken::NAMESPACE.
+ </p>
+
+ @throws com::sun::star::xml::sax::SAXException
+ if serializing the XML document fails
+ */
+ void fastSerialize([in] sax::XFastDocumentHandler handler,
+ [in] sax::XFastTokenHandler tokenHandler,
+ [in] sequence< beans::StringPair > namespaces,
+ [in] sequence< beans::Pair<string, long> > registerNamespaces)
+ raises( com::sun::star::xml::sax::SAXException );
+};
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/xml/sax/XFastSerializer.idl b/offapi/com/sun/star/xml/sax/XFastSerializer.idl
new file mode 100644
index 000000000000..3c61d0ffcbf4
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/XFastSerializer.idl
@@ -0,0 +1,191 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xml_sax_XFastSerializer_idl__
+#define __com_sun_star_xml_sax_XFastSerializer_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_SAXException_idl__
+#include <com/sun/star/xml/sax/SAXException.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_XFastDocumentHanlder_idl__
+#include <com/sun/star/xml/sax/XFastDocumentHandler.idl>
+#endif
+
+#ifndef __com_sun_star_io_XOutputStream_idl__
+#include <com/sun/star/io/XOutputStream.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_XFastTokenHandler_idl__
+#include <com/sun/star/xml/sax/XFastTokenHandler.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module xml { module sax {
+
+//=============================================================================
+
+/** receives notification of sax document events to write into an XOutputStream.
+ */
+interface XFastSerializer: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** called by the parser when parsing of an xml stream is started.
+ */
+ void startDocument()
+ raises( com::sun::star::xml::sax::SAXException );
+
+ //-------------------------------------------------------------------------
+
+ /** called by the parser after the last xml element of a stream is processed.
+ */
+ void endDocument()
+ raises( com::sun::star::xml::sax::SAXException );
+
+ //-------------------------------------------------------------------------
+
+ /** receives notification of the beginning of an element .
+
+ @param Element
+ contains the integer token from the <type>XFastTokenHandler</type>
+ registered at the <type>XFastParser</type>.<br>
+
+ If the element has a namespace that was registered with the
+ <type>XFastParser</type>, <param>Element</param> contains the integer
+ token of the elements local name from the <type>XFastTokenHandler</type>
+ and the integer token of the namespace combined with an arithmetic
+ <b>or</b> operation.
+
+ @param Attribs
+ Contains a <type>XFastAttrbitueList</type> to access the attributes
+ from the element.
+
+ */
+ void startFastElement( [in] long Element, [in] XFastAttributeList Attribs )
+ raises( com::sun::star::xml::sax::SAXException );
+
+ //-------------------------------------------------------------------------
+
+ /** receives notification of the beginning of an unknown element .
+
+ @param Namespace
+ contains the namespace url (not the prefix!) of this element.
+ @param Name
+ contains the elements local name.
+ @param Attribs
+ Contains a <type>XFastAttrbitueList</type> to access the attributes
+ from the element.
+ */
+ void startUnknownElement( [in] string Namespace, [in] string Name, [in] XFastAttributeList Attribs )
+ raises( com::sun::star::xml::sax::SAXException );
+
+ //-------------------------------------------------------------------------
+
+ /** receives notification of the end of an known element.
+ @see startFastElement
+ */
+ void endFastElement( [in] long Element )
+ raises( com::sun::star::xml::sax::SAXException );
+
+ //-------------------------------------------------------------------------
+
+ /** receives notification of the end of an known element.
+ @see startUnknownElement
+ */
+ void endUnknownElement( [in] string Namespace, [in] string Name )
+ raises( com::sun::star::xml::sax::SAXException );
+
+ //-------------------------------------------------------------------------
+
+ /** receives notification of the beginning of a single element .
+
+ @param Element
+ contains the integer token from the <type>XFastTokenHandler</type>
+ registered at the <type>XFastParser</type>.<br>
+
+ If the element has a namespace that was registered with the
+ <type>XFastParser</type>, <param>Element</param> contains the integer
+ token of the elements local name from the <type>XFastTokenHandler</type>
+ and the integer token of the namespace combined with an arithmetic
+ <b>or</b> operation.
+
+ @param Attribs
+ Contains a <type>XFastAttrbitueList</type> to access the attributes
+ from the element.
+
+ */
+ void singleFastElement( [in] long Element, [in] XFastAttributeList Attribs )
+ raises( com::sun::star::xml::sax::SAXException );
+
+ //-------------------------------------------------------------------------
+
+ /** receives notification of the beginning of a single unknown element .
+
+ @param Namespace
+ contains the namespace url (not the prefix!) of this element.
+ @param Name
+ contains the elements local name.
+ @param Attribs
+ Contains a <type>XFastAttrbitueList</type> to access the attributes
+ from the element.
+ */
+ void singleUnknownElement( [in] string Namespace, [in] string Name, [in] XFastAttributeList Attribs )
+ raises( com::sun::star::xml::sax::SAXException );
+
+ //-------------------------------------------------------------------------
+
+ /** receives notification of character data.
+ */
+ void characters( [in] string aChars )
+ raises( com::sun::star::xml::sax::SAXException );
+
+ //-------------------------------------------------------------------------
+
+ /**
+ */
+ void setOutputStream ( [in] com::sun::star::io::XOutputStream xOutputStream )
+ /* raises( com::sun::star::xml::sax::SAXException ) */;
+
+ //-------------------------------------------------------------------------
+
+ /**
+ */
+ void setFastTokenHandler ( [in] com::sun::star::xml::sax::XFastTokenHandler xFastTokenHandler )
+ /* raises( com::sun::star::xml::sax::SAXException ) */;
+ };
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/xml/sax/XFastShapeContextHandler.idl b/offapi/com/sun/star/xml/sax/XFastShapeContextHandler.idl
new file mode 100644
index 000000000000..27c615cbaa3c
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/XFastShapeContextHandler.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xml_sax_XFastShapeContextHandler_idl__
+#define __com_sun_star_xml_sax_XFastShapeContextHandler_idl__
+
+#include <com/sun/star/xml/sax/XFastContextHandler.idl>
+#include <com/sun/star/drawing/XShape.idl>
+#include <com/sun/star/drawing/XDrawPage.idl>
+#include <com/sun/star/frame/XModel.idl>
+#include <com/sun/star/io/XInputStream.idl>
+
+//=============================================================================
+
+module com { module sun { module star { module xml { module sax {
+
+//=============================================================================
+
+/** receives notification of sax document events from a
+ <type>XFastParser</type>.
+
+ @see XFastDocumentHandler
+ */
+interface XFastShapeContextHandler: com::sun::star::xml::sax::XFastContextHandler
+{
+ [attribute, readonly] com::sun::star::drawing::XShape Shape;
+ [attribute] com::sun::star::drawing::XDrawPage DrawPage;
+ [attribute] com::sun::star::frame::XModel Model;
+ [attribute] com::sun::star::io::XInputStream InputStream;
+ [attribute] string RelationFragmentPath;
+ [attribute] long StartToken;
+ };
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/xml/sax/XFastTokenHandler.idl b/offapi/com/sun/star/xml/sax/XFastTokenHandler.idl
new file mode 100644
index 000000000000..e4af64500b6c
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/XFastTokenHandler.idl
@@ -0,0 +1,93 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xml_sax_XFastTokenHandler_idl__
+#define __com_sun_star_xml_sax_XFastTokenHandler_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module xml { module sax {
+
+//============================================================================
+
+/** interface to translate xml strings to integer tokens.
+
+ <p>An instance of this interface can be registered at a <type>XFastParser</type>.
+ It should be able to translate all xml names (element local names,
+ attribute local names and constant attribute values) to integer tokens.
+
+ A token value must be greater or equal to zero and less than
+ <const>FastToken::NAMESPACE</const>. If a string identifier is not known
+ to this instance, <const>FastToken::DONTKNOW</const> is returned.
+ */
+interface XFastTokenHandler: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** returns a integer token for the given string identifier.
+
+ @returns
+ a unique integer token for the given String or <const>FastToken::DONTKNOW</const>
+ if the identifier is not known to this instance.
+ */
+ long getToken( [in] string Identifier );
+
+ //-------------------------------------------------------------------------
+
+ /** returns a string identifier for the given integer token.
+ */
+ string getIdentifier( [in] long Token );
+
+ //-------------------------------------------------------------------------
+
+ /** returns a integer token for the given string
+
+ @param Identifier
+ the string given as a byte sequence encoded in UTF8
+
+ @returns
+ a unique integer token for the given String or <const>FastToken::DONTKNOW</const>
+ if the identifier is not known to this instance.
+ */
+ long getTokenFromUTF8( [in] sequence< byte > Identifier );
+
+ //-------------------------------------------------------------------------
+
+ /** returns a identifier for the given integer token as a byte
+ sequence encoded in UTF8.
+ */
+ sequence< byte > getUTF8Identifier( [in] long Token );
+};
+
+//============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/xml/sax/XLocator.idl b/offapi/com/sun/star/xml/sax/XLocator.idl
new file mode 100644
index 000000000000..e77d83000f8a
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/XLocator.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xml_sax_XLocator_idl__
+#define __com_sun_star_xml_sax_XLocator_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module xml { module sax {
+
+//============================================================================
+
+/** makes it possible to associate a SAX event with a document location.
+
+ <p>This interface is an IDL version of the Java interface
+ <em>org.xml.sax.Locator</em>.</p>
+ */
+published interface XLocator: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** @returns
+ the column number where the current document event ends.
+ */
+ long getColumnNumber();
+
+ //-------------------------------------------------------------------------
+ /** @returns
+ the line number where the current document event ends.
+ */
+ long getLineNumber();
+
+ //-------------------------------------------------------------------------
+ /** @returns
+ the public identifier for the current document event.
+ */
+ string getPublicId();
+
+ //-------------------------------------------------------------------------
+ /** @returns
+ the system identifier for the current document event.
+ */
+ string getSystemId();
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/xml/sax/XParser.idl b/offapi/com/sun/star/xml/sax/XParser.idl
new file mode 100644
index 000000000000..0d29af5d6562
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/XParser.idl
@@ -0,0 +1,126 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xml_sax_XParser_idl__
+#define __com_sun_star_xml_sax_XParser_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_InputSource_idl__
+#include <com/sun/star/xml/sax/InputSource.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_SAXException_idl__
+#include <com/sun/star/xml/sax/SAXException.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_XDocumentHandler_idl__
+#include <com/sun/star/xml/sax/XDocumentHandler.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_XErrorHandler_idl__
+#include <com/sun/star/xml/sax/XErrorHandler.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_XDTDHandler_idl__
+#include <com/sun/star/xml/sax/XDTDHandler.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_XEntityResolver_idl__
+#include <com/sun/star/xml/sax/XEntityResolver.idl>
+#endif
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module xml { module sax {
+
+//=============================================================================
+
+/** specifies a SAX parser.
+
+ <p>This interface is an IDL version of the Java interface
+ <em>org.xml.sax.Parser</em> with some minor adaptations.</p>
+ */
+published interface XParser: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** parses an XML document from a stream.
+
+ <p>Set the desired handlers before calling this method.</p>
+ */
+ void parseStream( [in] com::sun::star::xml::sax::InputSource aInputSource )
+ raises( com::sun::star::xml::sax::SAXException,
+ com::sun::star::io::IOException );
+
+ //-------------------------------------------------------------------------
+ /** allows an application to register a document event handler.
+ */
+ void setDocumentHandler( [in] com::sun::star::xml::sax::XDocumentHandler xHandler );
+
+ //-------------------------------------------------------------------------
+ /** allows an application to register an error event handler.
+
+ <p>Note that the error handler can throw an exception when an error or
+ warning occurs. Note that an exception is thrown by the parser when
+ an unrecoverable (fatal) error occurs.</p>
+ */
+ void setErrorHandler( [in] com::sun::star::xml::sax::XErrorHandler xHandler );
+
+ //-------------------------------------------------------------------------
+ /** allows an application to register a DTD-Handler.
+ */
+ void setDTDHandler( [in] com::sun::star::xml::sax::XDTDHandler xHandler );
+
+ //-------------------------------------------------------------------------
+ /** allows an application to register a DTD-Handler.
+ */
+ void setEntityResolver( [in] com::sun::star::xml::sax::XEntityResolver xResolver );
+
+ //-------------------------------------------------------------------------
+ /** sets a locale specified for localization of warnings and error messages.
+
+ <p>Set the language of the error messages. Useful when the parsing
+ errors will be presented to the user.</p>
+ */
+ void setLocale( [in] com::sun::star::lang::Locale locale );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/xml/sax/XSAXSerializable.idl b/offapi/com/sun/star/xml/sax/XSAXSerializable.idl
new file mode 100644
index 000000000000..94af79fc1444
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/XSAXSerializable.idl
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_sax_XSAXSerializable_idl__
+#define __com_sun_star_xml_sax_XSAXSerializable_idl__
+
+#ifndef __com_sun_star_xml_sax_XDocumentHandler_idl__
+#include <com/sun/star/xml/sax/XDocumentHandler.idl>
+#endif
+
+#ifndef __com_sun_star_beans_StringPair_idl__
+#include <com/sun/star/beans/StringPair.idl>
+#endif
+
+module com { module sun { module star { module xml { module sax {
+
+//=============================================================================
+/** serializes a DOM tree by generating SAX events.
+
+ <p>
+ </p>
+
+ @since OOo 3.0
+
+*/
+interface XSAXSerializable
+{
+
+ //-------------------------------------------------------------------------
+ /** serializes an object (e.g. a DOM tree) that represents an XML document
+ by generating SAX events.
+
+ @param handler
+ the SAX event handler that should receive the generated events
+ @param namespaces
+ a list of namespace declarations that will be added to the root
+ element node of the XML document
+ <p>
+ This is necessary mostly because the DOM implementation does
+ not permit attaching namespaces declarations directly to nodes,
+ which may lead to duplicate namespace declarations on export,
+ and thus larger documents.
+ Note that the first part of each tuple is the prefix,
+ e.g. "office", and the second is the full namespace URI.
+ </p>
+
+ @throws com::sun::star::xml::sax::SAXException
+ if serializing the XML document fails
+ */
+ void serialize([in] sax::XDocumentHandler handler,
+ [in] sequence< beans::StringPair > namespaces)
+ raises( com::sun::star::xml::sax::SAXException );
+
+};
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/xml/sax/makefile.mk b/offapi/com/sun/star/xml/sax/makefile.mk
new file mode 100644
index 000000000000..812d92cc9450
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/makefile.mk
@@ -0,0 +1,69 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=csssax
+PACKAGE=com$/sun$/star$/xml$/sax
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ InputSource.idl\
+ SAXException.idl\
+ SAXInvalidCharacterException.idl\
+ SAXParseException.idl\
+ XAttributeList.idl\
+ XDocumentHandler.idl\
+ XDTDHandler.idl\
+ XEntityResolver.idl\
+ XErrorHandler.idl\
+ XExtendedDocumentHandler.idl\
+ XLocator.idl\
+ XParser.idl\
+ XSAXSerializable.idl\
+ XFastParser.idl\
+ XFastDocumentHandler.idl\
+ XFastContextHandler.idl\
+ XFastSAXSerializable.idl\
+ XFastSerializer.idl\
+ XFastShapeContextHandler.idl\
+ XFastTokenHandler.idl\
+ XFastAttributeList.idl\
+ FastToken.idl \
+ FastShapeContextHandler.idl \
+ FastTokenHandler.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/xml/wrapper/XMLDocumentWrapper.idl b/offapi/com/sun/star/xml/wrapper/XMLDocumentWrapper.idl
new file mode 100644
index 000000000000..8fb0ed67d17a
--- /dev/null
+++ b/offapi/com/sun/star/xml/wrapper/XMLDocumentWrapper.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_wrapper_xmldocumentwrapper_idl_
+#define __com_sun_star_xml_wrapper_xmldocumentwrapper_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+#include <com/sun/star/xml/wrapper/XXMLDocumentWrapper.idl>
+
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/lang/XServiceInfo.idl>
+
+module com { module sun { module star { module xml { module wrapper {
+
+/**
+ * Service of XMLDocumentWrapper
+ */
+service XMLDocumentWrapper {
+ interface com::sun::star::xml::wrapper::XXMLDocumentWrapper ;
+ interface com::sun::star::lang::XInitialization ;
+ interface com::sun::star::lang::XServiceInfo ;
+};
+
+} ; } ; } ; } ; } ;
+
+
+#endif
+
diff --git a/offapi/com/sun/star/xml/wrapper/XMLElementWrapper.idl b/offapi/com/sun/star/xml/wrapper/XMLElementWrapper.idl
new file mode 100644
index 000000000000..3a5edca4325e
--- /dev/null
+++ b/offapi/com/sun/star/xml/wrapper/XMLElementWrapper.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_wrapper_xmlelementwrapper_idl_
+#define __com_sun_star_xml_wrapper_xmlelementwrapper_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+#include <com/sun/star/xml/wrapper/XXMLElementWrapper.idl>
+
+#include <com/sun/star/lang/XUnoTunnel.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/lang/XServiceInfo.idl>
+
+module com { module sun { module star { module xml { module wrapper {
+
+/**
+ * Service of XMLElementWrapper
+ */
+service XMLElementWrapper {
+ interface com::sun::star::xml::wrapper::XXMLElementWrapper ;
+ interface com::sun::star::lang::XUnoTunnel;
+ interface com::sun::star::lang::XInitialization ;
+ interface com::sun::star::lang::XServiceInfo ;
+};
+
+} ; } ; } ; } ; } ;
+
+
+#endif
+
diff --git a/offapi/com/sun/star/xml/wrapper/XXMLDocumentWrapper.idl b/offapi/com/sun/star/xml/wrapper/XXMLDocumentWrapper.idl
new file mode 100644
index 000000000000..2145c23a941b
--- /dev/null
+++ b/offapi/com/sun/star/xml/wrapper/XXMLDocumentWrapper.idl
@@ -0,0 +1,176 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_wrapper_xxmldocumentwrapper_idl_
+#define __com_sun_star_xml_wrapper_xxmldocumentwrapper_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+#include <com/sun/star/xml/sax/XDocumentHandler.idl>
+
+module com { module sun { module star { module xml { module wrapper {
+
+interface XXMLElementWrapper;
+
+/**
+ * Interface of XML Document Wrapper.
+ * <p>
+ * When converting SAX events into a DOM tree, this interface is
+ * used to manipulate the DOM data in UNO perspective.
+ * <p>
+ * Every lauguage has its own methods to manipulate its native DOM
+ * data structure, this interface provides a common method set which
+ * each lauguage have to implement.
+ * <p>
+ * In another word, this interface wraps language dependant methods,
+ * then other component can manipulate DOM data through UNO methods.
+ */
+interface XXMLDocumentWrapper : com::sun::star::uno::XInterface
+{
+ /**
+ * Gets the current element.
+ *
+ * @return the current element in the SAX event stream
+ */
+ XXMLElementWrapper getCurrentElement();
+
+ /**
+ * Sets the current element.
+ * <p>
+ * When the current element is replaced outside of this interface, then
+ * uses this method can update the current element pointer.
+ *
+ * @param element the new current element
+ */
+ void setCurrentElement([in] XXMLElementWrapper element);
+
+ /**
+ * Removes the current element.
+ * <p>
+ * When the current element is removed, then its parent element becomes
+ * the new current element.
+ */
+ void removeCurrentElement();
+
+ /**
+ * Checks whether an element is the current element.
+ *
+ * @param node the element to be checked
+ * @return <code>true</code> if the node is the current element,
+ * <code>false</code> otherwise
+ */
+ boolean isCurrent([in] XXMLElementWrapper node);
+
+ /**
+ * Checks whether the current element is empty.
+ *
+ * @return <code>true</code> if the current element is empty,
+ * <code>false</code> otherwise
+ */
+ boolean isCurrentElementEmpty();
+
+ /**
+ * Gets the name of the element.
+ *
+ * @param node the element whose name will be gotten
+ * @return the name of the element
+ */
+ string getNodeName([in] XXMLElementWrapper node);
+
+ /**
+ * Clears all useless element in a branch of the DOM tree along the
+ * tree order.
+ *
+ * @param node the start point of the branch to clear
+ * @param reservedDescendants an array including all elements that
+ * need to be reserved (along their
+ * ancestor path)
+ * @param stopAtNode the stop element. The operation have
+ * to interrupt when this element is met
+ * during clearing
+ */
+ void clearUselessData(
+ [in] XXMLElementWrapper node,
+ [in] sequence< XXMLElementWrapper > reservedDescendants,
+ [in] XXMLElementWrapper stopAtNode);
+
+ /**
+ * Collapses a tree path
+ * <p>
+ * Each element in the ancestor path of the node will be checked,
+ * if this element is empty, then deletes it.
+ *
+ * @param node the start point of the path from where the tree
+ * path will be collapsed
+ */
+ void collapse([in] XXMLElementWrapper node);
+
+ /**
+ * Converts a part of the DOM tree into SAX events.
+ *
+ * @param handler the document handler which will receive
+ * generated SAX events
+ * @param saxEventKeeperHandler the SAXEventKeeper connecting with
+ * this XMLDocumentHandler
+ * @param startNode the start point to generate SAX events
+ * @param endNode the end point where to stop generating
+ */
+ void generateSAXEvents(
+ [in] com::sun::star::xml::sax::XDocumentHandler handler,
+ [in] com::sun::star::xml::sax::XDocumentHandler saxEventKeeperHandler,
+ [in] XXMLElementWrapper startNode,
+ [in] XXMLElementWrapper endNode)
+ raises( com::sun::star::xml::sax::SAXException );
+
+ /**
+ * Converts the whole DOM tree into a SAX event stream.
+ *
+ * @param handler the document handelr which will receive the SAX event
+ * stream
+ */
+ void getTree([in] com::sun::star::xml::sax::XDocumentHandler handler)
+ raises( com::sun::star::xml::sax::SAXException );
+
+ /**
+ * Rebuild the ID attribute in the branch starting from the particular
+ * element.
+ *
+ * @param node the root element of the branch whose ID link will be
+ * built
+ */
+ void rebuildIDLink([in] XXMLElementWrapper node);
+};
+
+} ; } ; } ; } ; } ;
+
+
+#endif
+
diff --git a/offapi/com/sun/star/xml/wrapper/XXMLElementWrapper.idl b/offapi/com/sun/star/xml/wrapper/XXMLElementWrapper.idl
new file mode 100644
index 000000000000..ef19b64826c7
--- /dev/null
+++ b/offapi/com/sun/star/xml/wrapper/XXMLElementWrapper.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_wrapper_xxmlelementwrapper_idl_
+#define __com_sun_star_xml_wrapper_xxmlelementwrapper_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module xml { module wrapper {
+
+/**
+ * Interface of XML Element Wrapper.
+ * <p>
+ * This interface is used to wrap a element information, which
+ * make it enable to tranfer the element information between
+ * different languages, such as C++/Java.
+ */
+interface XXMLElementWrapper : com::sun::star::uno::XInterface
+{
+} ;
+
+} ; } ; } ; } ; } ;
+
+
+#endif
+
diff --git a/offapi/com/sun/star/xml/wrapper/makefile.mk b/offapi/com/sun/star/xml/wrapper/makefile.mk
new file mode 100644
index 000000000000..e3690cd38443
--- /dev/null
+++ b/offapi/com/sun/star/xml/wrapper/makefile.mk
@@ -0,0 +1,51 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+#i20156 - new file for xmlsecurity module
+
+PRJ=..$/..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=xsec-wrapper
+PACKAGE=com$/sun$/star$/xml$/wrapper
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ XMLElementWrapper.idl \
+ XMLDocumentWrapper.idl \
+ XXMLElementWrapper.idl \
+ XXMLDocumentWrapper.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/xml/xpath/Libxml2ExtensionHandle.idl b/offapi/com/sun/star/xml/xpath/Libxml2ExtensionHandle.idl
new file mode 100644
index 000000000000..7b9eac727f52
--- /dev/null
+++ b/offapi/com/sun/star/xml/xpath/Libxml2ExtensionHandle.idl
@@ -0,0 +1,49 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml__xpath_Libxml2ExtensionHandle_idl__
+#define __com_sun_star_xml_Libxml2ExtensionHandle_idl__
+
+//=============================================================================
+
+ module com { module sun { module star { module xml { module xpath {
+
+//=============================================================================
+
+struct Libxml2ExtensionHandle
+{
+ hyper functionLookupFunction;
+ hyper functionData;
+ hyper variableLookupFunction;
+ hyper variableData;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/xml/xpath/XPathAPI.idl b/offapi/com/sun/star/xml/xpath/XPathAPI.idl
new file mode 100644
index 000000000000..67d771b3ea66
--- /dev/null
+++ b/offapi/com/sun/star/xml/xpath/XPathAPI.idl
@@ -0,0 +1,14 @@
+#ifndef __com_sun_star_xml_xpath_XPathExtension_idl__
+#define __com_sun_star_xml_xpath_XPathExtension_idl__
+#ifndef __com_sun_star_xml_xpath_XXPathAPI_idl
+#include <com/sun/star/xml/xpath/XXPathAPI.idl>
+#endif
+module com { module sun { module star { module xml { module xpath {
+
+ service XPathExtension
+ {
+ interface XXPathAPI;
+ };
+};};};};};
+#endif
+
diff --git a/offapi/com/sun/star/xml/xpath/XPathException.idl b/offapi/com/sun/star/xml/xpath/XPathException.idl
new file mode 100644
index 000000000000..37ee4eb789bb
--- /dev/null
+++ b/offapi/com/sun/star/xml/xpath/XPathException.idl
@@ -0,0 +1,50 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+************************************************************************/
+
+#ifndef __com_sun_star_xml_XPath_XPathException_idl__
+#define __com_sun_star_xml_XPath_XPathException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+module com { module sun { module star { module xml { module xpath {
+
+//=============================================================================
+/** Exception that may occur when evaluating an XPath expression.
+
+ @since OOo 3.0
+
+ @see XXPathAPI
+ */
+exception XPathException : com::sun::star::uno::Exception
+{
+};
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/xml/xpath/XPathExtension.idl b/offapi/com/sun/star/xml/xpath/XPathExtension.idl
new file mode 100644
index 000000000000..d286cc0a817e
--- /dev/null
+++ b/offapi/com/sun/star/xml/xpath/XPathExtension.idl
@@ -0,0 +1,14 @@
+#ifndef __com_sun_star_xml_xpath_XPathExtension_idl__
+#define __com_sun_star_xml_xpath_XPathExtension_idl__
+#ifndef __com_sun_star_xml_xpath_XXPathExtension_idl
+#include <com/sun/star/xml/xpath/XXPathExtension.idl>
+#endif
+module com { module sun { module star { module xml { module xpath {
+
+ service XPathExtension
+ {
+ interface XXPathExtension;
+ };
+};};};};};
+#endif
+
diff --git a/offapi/com/sun/star/xml/xpath/XPathObjectType.idl b/offapi/com/sun/star/xml/xpath/XPathObjectType.idl
new file mode 100644
index 000000000000..c0445f9bd2f3
--- /dev/null
+++ b/offapi/com/sun/star/xml/xpath/XPathObjectType.idl
@@ -0,0 +1,51 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_XPath_XObjectType_idl__
+#define __com_sun_star_xml_XPath_XObjectType_idl__
+
+module com { module sun { module star { module xml { module xpath {
+
+
+enum XPathObjectType
+{
+ XPATH_UNDEFINED,
+ XPATH_NODESET,
+ XPATH_BOOLEAN,
+ XPATH_NUMBER,
+ XPATH_STRING,
+ XPATH_POINT,
+ XPATH_RANGE,
+ XPATH_LOCATIONSET,
+ XPATH_USERS,
+ XPATH_XSLT_TREE
+
+};
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/xml/xpath/XXPathAPI.idl b/offapi/com/sun/star/xml/xpath/XXPathAPI.idl
new file mode 100644
index 000000000000..e3501947cb4c
--- /dev/null
+++ b/offapi/com/sun/star/xml/xpath/XXPathAPI.idl
@@ -0,0 +1,207 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_XPath_XXPathAPI_idl__
+#define __com_sun_star_xml_XPath_XXPathAPI_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_xml_dom_XNode_idl__
+#include <com/sun/star/xml/dom/XNode.idl>
+#endif
+#ifndef __com_sun_star_xml_dom_XNodeList_idl__
+#include <com/sun/star/xml/dom/XNodeList.idl>
+#endif
+#ifndef __com_sun_star_xml_xpath_XXPathObject_idl__
+#include <com/sun/star/xml/xpath/XXPathObject.idl>
+#endif
+#ifndef __com_sun_star_xml_xpath_XXPathExtension_idl__
+#include <com/sun/star/xml/xpath/XXPathExtension.idl>
+#endif
+#ifndef __com_sun_star_xml_XPath_XPathException_idl__
+#include <com/sun/star/xml/xpath/XPathException.idl>
+#endif
+
+
+module com { module sun { module star { module xml { module xpath {
+
+
+interface XXPathAPI : com::sun::star::uno::XInterface
+{
+
+ void registerNS(
+ [in] string prefix,
+ [in] string url);
+
+ void unregisterNS(
+ [in] string prefix,
+ [in] string url);
+
+ void registerExtension( [in] string serviceName );
+ void registerExtensionInstance(
+ [in] com::sun::star::xml::xpath::XXPathExtension aExtension);
+
+ /** Eval XPath Expression.
+
+ @param contextNode
+ the context node (expression is relative to this node)
+
+ @param expr
+ the XPath expression
+
+ @throws XPathException
+ if the expression is malformed, or evaluation fails
+
+ @returns
+ an object representing the result of the XPath evaluation
+
+ @see XXPathObject
+ */
+ XXPathObject eval(
+ [in] com::sun::star::xml::dom::XNode contextNode,
+ [in] string expr)
+ raises( com::sun::star::xml::xpath::XPathException );
+
+ /** Eval XPath Expression.
+
+ @param contextNode
+ the context node (expression is relative to this node)
+
+ @param expr
+ the XPath expression
+
+ @param namespaceNode
+ all namespaces declared on this node will be registered
+
+ @throws XPathException
+ if the expression is malformed, or evaluation fails
+
+ @returns
+ an object representing the result of the XPath evaluation
+
+ @see XXPathObject
+ */
+ XXPathObject evalNS(
+ [in] com::sun::star::xml::dom::XNode contextNode,
+ [in] string expr,
+ [in] com::sun::star::xml::dom::XNode namespaceNode)
+ raises( com::sun::star::xml::xpath::XPathException );
+
+ /** Evaluate an XPath expression to select a list of nodes.
+
+ @param contextNode
+ the context node (expression is relative to this node)
+
+ @param expr
+ the XPath expression
+
+ @throws XPathException
+ if the expression is malformed, or evaluation fails
+
+ @returns
+ result of the XPath evaluation: a list of nodes
+
+ @see XNodeList
+ */
+ com::sun::star::xml::dom::XNodeList selectNodeList(
+ [in] com::sun::star::xml::dom::XNode contextNode,
+ [in] string expr)
+ raises( com::sun::star::xml::xpath::XPathException );
+
+ /** Evaluate an XPath expression to select a list of nodes.
+
+ @param contextNode
+ the context node (expression is relative to this node)
+
+ @param expr
+ the XPath expression
+
+ @param namespaceNode
+ all namespaces declared on this node will be registered
+
+ @throws XPathException
+ if the expression is malformed, or evaluation fails
+
+ @returns
+ result of the XPath evaluation: a list of nodes
+
+ @see XNodeList
+ */
+ com::sun::star::xml::dom::XNodeList selectNodeListNS(
+ [in] com::sun::star::xml::dom::XNode contextNode,
+ [in] string str,
+ [in] com::sun::star::xml::dom::XNode namespaceNode)
+ raises( com::sun::star::xml::xpath::XPathException );
+
+ /** Evaluate an XPath expression to select a single node.
+
+ @param contextNode
+ the context node (expression is relative to this node)
+
+ @param expr
+ the XPath expression
+
+ @throws XPathException
+ if the expression is malformed, or evaluation fails
+
+ @returns
+ result of the XPath evaluation: a single node
+ */
+ com::sun::star::xml::dom::XNode selectSingleNode(
+ [in] com::sun::star::xml::dom::XNode contextNode,
+ [in] string expr)
+ raises( com::sun::star::xml::xpath::XPathException );
+
+ /** Evaluate an XPath expression to select a single node.
+
+ @param contextNode
+ the context node (expression is relative to this node)
+
+ @param expr
+ the XPath expression
+
+ @param namespaceNode
+ all namespaces declared on this node will be registered
+
+ @throws XPathException
+ if the expression is malformed, or evaluation fails
+
+ @returns
+ result of the XPath evaluation: a single node
+ */
+ com::sun::star::xml::dom::XNode selectSingleNodeNS(
+ [in] com::sun::star::xml::dom::XNode contextNode,
+ [in] string str,
+ [in] com::sun::star::xml::dom::XNode namespaceNode)
+ raises( com::sun::star::xml::xpath::XPathException );
+
+};
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/xml/xpath/XXPathExtension.idl b/offapi/com/sun/star/xml/xpath/XXPathExtension.idl
new file mode 100644
index 000000000000..527c37ba46f3
--- /dev/null
+++ b/offapi/com/sun/star/xml/xpath/XXPathExtension.idl
@@ -0,0 +1,47 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_XPath_XXPathExtension_idl__
+#define __com_sun_star_xml_XPath_XXPathExtension_idl__
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com__sun_star_xml_xpath_Libxml2ExtensionHandle_idl__
+#include <com/sun/star/xml/xpath/Libxml2ExtensionHandle.idl>
+#endif
+
+module com { module sun { module star { module xml { module xpath {
+
+
+interface XXPathExtension : com::sun::star::uno::XInterface
+{
+ Libxml2ExtensionHandle getLibxml2ExtensionHandle();
+};
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/xml/xpath/XXPathObject.idl b/offapi/com/sun/star/xml/xpath/XXPathObject.idl
new file mode 100644
index 000000000000..3371a17fe93c
--- /dev/null
+++ b/offapi/com/sun/star/xml/xpath/XXPathObject.idl
@@ -0,0 +1,102 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_XPath_XXPathObject_idl__
+#define __com_sun_star_xml_XPath_XXPathObject_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_xml_dom_XNode_idl__
+#include <com/sun/star/xml/dom/XNode.idl>
+#endif
+#ifndef __com_sun_star_xml_dom_XNodeList_idl__
+#include <com/sun/star/xml/dom/XNodeList.idl>
+#endif
+#ifndef __com_sun_star_xml_XPath_XObjectType_idl__
+#include <com/sun/star/xml/xpath/XPathObjectType.idl>
+#endif
+
+module com { module sun { module star { module xml { module xpath {
+
+
+interface XXPathObject : com::sun::star::uno::XInterface
+{
+ /**
+ get object type
+ */
+ XPathObjectType getObjectType();
+
+ /**
+ get the nodes from a nodelist type object
+ */
+ com::sun::star::xml::dom::XNodeList getNodeList();
+
+ /**
+ get value of a boolean object
+ */
+ boolean getBoolean();
+
+ /**
+ get number as byte
+ */
+ byte getByte();
+
+ /**
+ get number as short
+ */
+ short getShort();
+
+ /**
+ get number as long
+ */
+ long getLong();
+
+ /**
+ get number as hyper
+ */
+ hyper getHyper();
+
+ /**
+ get number as float
+ */
+ float getFloat();
+
+ /**
+ get number as double
+ */
+ double getDouble();
+
+ /**
+ get string value
+ */
+ string getString();
+};
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/xml/xpath/makefile.mk b/offapi/com/sun/star/xml/xpath/makefile.mk
new file mode 100644
index 000000000000..60b70c9d70d3
--- /dev/null
+++ b/offapi/com/sun/star/xml/xpath/makefile.mk
@@ -0,0 +1,60 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssxpath
+PACKAGE=com$/sun$/star$/xml$/xpath
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ XPathException.idl \
+ XPathObjectType.idl \
+ XXPathObject.idl \
+ XXPathAPI.idl \
+ XXPathExtension.idl \
+ Libxml2ExtensionHandle.idl \
+ XPathExtension.idl \
+ XPathAPI.idl \
+ Libxml2ExtensionHandle.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
+
+
+
+
+
+