diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 05:54:39 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 05:54:39 +0000 |
commit | 267c6f2ac71f92999e969232431ba04678e7437e (patch) | |
tree | 358c9467650e1d0a1d7227a21dac2e3d08b622b2 /offapi/com/sun/star/xml/input | |
parent | Initial commit. (diff) | |
download | libreoffice-267c6f2ac71f92999e969232431ba04678e7437e.tar.xz libreoffice-267c6f2ac71f92999e969232431ba04678e7437e.zip |
Adding upstream version 4:24.2.0.upstream/4%24.2.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'offapi/com/sun/star/xml/input')
-rw-r--r-- | offapi/com/sun/star/xml/input/SaxDocumentHandler.idl | 42 | ||||
-rw-r--r-- | offapi/com/sun/star/xml/input/XAttributes.idl | 115 | ||||
-rw-r--r-- | offapi/com/sun/star/xml/input/XElement.idl | 107 | ||||
-rw-r--r-- | offapi/com/sun/star/xml/input/XNamespaceMapping.idl | 52 | ||||
-rw-r--r-- | offapi/com/sun/star/xml/input/XRoot.idl | 81 |
5 files changed, 397 insertions, 0 deletions
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 0000000000..fb9ee76808 --- /dev/null +++ b/offapi/com/sun/star/xml/input/SaxDocumentHandler.idl @@ -0,0 +1,42 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + + +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; +}; + +}; }; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 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 0000000000..747b653599 --- /dev/null +++ b/offapi/com/sun/star/xml/input/XAttributes.idl @@ -0,0 +1,115 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + + +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 local name. + + @param uid + namespace uid + @param localName + local name + @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 local name of an attribute. + + @param nIndex + index + @return + local name 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, local name. + + @param uid + namespace uid + @param localName + local name + @return + value string or empty string, if invalid uid/local name + */ + 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 ); +}; + +}; }; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 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 0000000000..fbf7983f73 --- /dev/null +++ b/offapi/com/sun/star/xml/input/XElement.idl @@ -0,0 +1,107 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + + +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 local name of this element. + + @return + local name 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 occurring child element. + + @param uid + namespace uid of element + @param localName + local name 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); +}; + +}; }; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 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 0000000000..ba9b410efc --- /dev/null +++ b/offapi/com/sun/star/xml/input/XNamespaceMapping.idl @@ -0,0 +1,52 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + + +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); +}; + +}; }; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 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 0000000000..a61924e32f --- /dev/null +++ b/offapi/com/sun/star/xml/input/XRoot.idl @@ -0,0 +1,81 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + + +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 + local name of element + @param xAttributes + attributes of element + */ + XElement startRootElement( + [in] long uid, [in] string localName, [in] XAttributes xAttributes ) + raises (com::sun::star::xml::sax::SAXException); +}; + +}; }; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |