Language

The Free and Open Productivity Suite
Released: Apache OpenOffice 4.1.15

API

SDK

Tips ‘n’ Tricks

Miscellaneous


:: com :: sun :: star :: rdf ::

unpublished interface XDocumentMetadataAccess
Base Interfaces
XDocumentMetadataAccessXURI
┃ ┗ XResource
┃    ┗ XNodeXRepositorySupplier

XURI
(referenced interface's summary:)
represents an URI node that may occur in a RDF graph.
XRepositorySupplier
(referenced interface's summary:)
provides access to an RDF Repository.
Usage Restrictions
not published
Description
document metadata functionality related to the "manifest.rdf".

This interface contains some methods that create connections between the content and the RDF metadata of an ODF document. The main idea is to make querying and manipulating the data in the metadata manifest easier.

Note that this interface inherits from XURI: the base URI of the document is the string value of the RDF node. This is so that you can easily make RDF statements about the document.

Since
OOo 3.2
See also
XDocumentRepository

Methods' Summary
getElementByMetadataReference get the unique ODF element with the given metadata reference.  
getElementByURI get the ODF element that corresponds to an URI.  
getMetadataGraphsWithType get the names of all metadata files with a given type.  
addMetadataFile add a metadata file to the manifest.  
importMetadataFile import a metadata file into the document repository, and add it to the manifest.  
removeMetadataFile remove a metadata file from the manifest and the repository.  
addContentOrStylesFile add a content or styles file to the manifest.  
removeContentOrStylesFile remove a content or styles file from the manifest.  
loadMetadataFromStorage initialize document metadata from a storage.  
storeMetadataToStorage store document metadata to a storage.  
loadMetadataFromMedium loads document metadata from a medium.  
storeMetadataToMedium stores document metadata to a medium.  
Methods' Details
getElementByMetadataReference
XMetadatable
getElementByMetadataReference( [in] ::com::sun::star::beans::StringPair  MetadataReference );

Description
get the unique ODF element with the given metadata reference.
Parameter MetadataReference
a metadata reference, comprising the stream name and the XML ID For example: Pair("content.xml", "foo-element-1")
Returns
the ODF element with the given metadata references if it exists, else NULL
getElementByURI
XMetadatable
getElementByURI( [in] XURI  URI )
raises( ::com::sun::star::lang::IllegalArgumentException );

Description
get the ODF element that corresponds to an URI.
Parameter URI
an URI that may identify an ODF element
Returns
the ODF element that corresponds to the given URI, or NULL
Throws
com::sun::star::lang::IllegalArgumentException if the given URI is NULL
getMetadataGraphsWithType
sequence< XURI >
getMetadataGraphsWithType( [in] XURI  Type )
raises( ::com::sun::star::lang::IllegalArgumentException );

Description
get the names of all metadata files with a given type.
Parameter Type
the rdf:type property of the requested named graphs
Returns
the names of all metadata graphs that have a rdf:type property with the given Type as object
Throws
com::sun::star::lang::IllegalArgumentException if the given Type is NULL
addMetadataFile
XURI
addMetadataFile( [in] string  FileName,
[in] sequence< XURI >  Types )
raises( ::com::sun::star::lang::IllegalArgumentException,
::com::sun::star::container::ElementExistException );

Description
add a metadata file to the manifest.

This convenience method does the following:

  • create a new graph with the given name in the repository
  • insert statements declaring the new graph to be a metadata file into the manifest graph
  • insert statements declaring rdf:type properties for the new graph into the manifest graph

Parameter FileName
the name of the stream in the ODF storage where the graph will be stored
Parameter Types
a list of types that will be inserted as rdf:type properties for the graph
Returns
the name of the new graph
Throws
com::sun::star::lang::IllegalArgumentException if the FileName is invalid
Throws
com::sun::star::container::ElementExistException if a stream with the given FileName already exists
importMetadataFile
XURI
importMetadataFile( [in] short  Format,
[in] ::com::sun::star::io::XInputStream  InStream,
[in] string  FileName,
[in] XURI  BaseURI,
[in] sequence< XURI >  Types )
raises( ::com::sun::star::lang::IllegalArgumentException,
::com::sun::star::datatransfer::UnsupportedFlavorException,
::com::sun::star::container::ElementExistException,
ParseException,
::com::sun::star::io::IOException );

Description
import a metadata file into the document repository, and add it to the manifest.

This convenience method does the following:

  • import the given file into a graph with the given name in the repository
  • insert statements declaring the new graph to be a metadata file into the manifest graph
  • insert statements declaring rdf:type properties for the new graph into the manifest graph
  • Parameter FileName
    the name of the stream in the ODF storage where the graph will be stored
    Parameter BaseURI
    a base URI to resolve relative URI references
    Parameter Types
    a list of types that will be inserted as rdf:type properties for the graph
    Returns
    the name of the new graph
    Throws
    com::sun::star::lang::IllegalArgumentException if the given stream is NULL, or BaseURI is NULL and the format requires use of a base URI, or the FileName is invalid
    Throws
    com::sun::star::datatransfer::UnsupportedFlavorException if the format requested is unknown or not supported
    Throws
    com::sun::star::container::ElementExistException if a stream with the given FileName already exists
    Throws
    ParseException if the input does not conform to the specified file format.
    Throws
    com::sun::star::io::IOException if an I/O error occurs.
    See also
    FileFormat
    removeMetadataFile
    void
    removeMetadataFile( [in] XURI  GraphName )
    raises( ::com::sun::star::lang::IllegalArgumentException,
    ::com::sun::star::container::NoSuchElementException );

    Description
    remove a metadata file from the manifest and the repository.

    This convenience method does the following:

  • delete the graph with the given GraphName in the repository
  • remove the statements declaring the graph to be a metadata file from the manifest graph
  • Parameter GraphName
    the name of the graph that is to be removed
    Throws
    com::sun::star::lang::IllegalArgumentException if the given GraphName is NULL
    Throws
    com::sun::star::container::NoSuchElementException if a graph with the given GraphName does not exist
    addContentOrStylesFile
    void
    addContentOrStylesFile( [in] string  FileName )
    raises( ::com::sun::star::lang::IllegalArgumentException,
    ::com::sun::star::container::ElementExistException );

    Description
    add a content or styles file to the manifest.

    This convenience method adds the required statements declaring a content or styles file to the manifest graph.

    • If the FileName ends in "content.xml", an odf:ContentFile is added.
    • If the FileName ends in "styles.xml" , an odf:StylesFile is added.
    • Other FileNames are invalid.

    Parameter FileName
    the name of the stream in the ODF storage
    Throws
    com::sun::star::lang::IllegalArgumentException if the FileName is invalid
    Throws
    com::sun::star::container::ElementExistException if a stream with the given FileName already exists
    removeContentOrStylesFile
    void
    removeContentOrStylesFile( [in] string  FileName )
    raises( ::com::sun::star::lang::IllegalArgumentException,
    ::com::sun::star::container::NoSuchElementException );

    Description
    remove a content or styles file from the manifest.

    This convenience method removes the statements declaring a content or styles file from the manifest graph.

    Parameter FileName
    the name of the stream in the ODF storage
    Throws
    com::sun::star::lang::IllegalArgumentException if the FileName is invalid
    Throws
    com::sun::star::container::NoSuchElementException if a graph with the given GraphName does not exist
    loadMetadataFromStorage
    void
    loadMetadataFromStorage( [in] ::com::sun::star::embed::XStorage  Storage,
    [in] XURI  BaseURI,
    [in] ::com::sun::star::task::XInteractionHandler  InteractionHandler )
    raises( ::com::sun::star::lang::IllegalArgumentException,
    ::com::sun::star::lang::WrappedTargetException );

    Description
    initialize document metadata from a storage.

    This method re-initializes the document metadata, loads the stream named "manifest.rdf" from the storage, and then loads all metadata streams mentioned in the manifest.

    Note that it is not an error if the storage does not contain a manifest. In this case, the document metadata will be default initialized.

    If an InteractionHandler argument is given, it will be used for error reporting. Otherwise, errors will be reported as exceptions.

    Parameter Storage
    a storage, representing e.g. an ODF package file, or sub-document
    Parameter BaseURI
    a base URI to resolve relative URI references

    N.B.: when loading from an ODF package, the base URI is not the URI of the package, but the URI of the directory in the package that contains the metadata.rdf

    Parameter InteractionHandler
    an InteractionHandler, used for error reporting
    Throws
    com::sun::star::lang::IllegalArgumentException if any argument is NULL
    Throws
    com::sun::star::lang::WrappedTargetException if an error occurs while loading and no InteractionHandler given
    storeMetadataToStorage
    void
    storeMetadataToStorage( [in] ::com::sun::star::embed::XStorage  Storage )
    raises( ::com::sun::star::lang::IllegalArgumentException,
    ::com::sun::star::lang::WrappedTargetException );

    Description
    store document metadata to a storage.

    This method stores all the graphs in the document metadata repository to the given storage.

    Note that to be stored correctly, a named graph must have a complete entry in the manifest graph.

    Parameter Storage
    a storage, representing e.g. an ODF package file, or sub-document
    Throws
    com::sun::star::lang::IllegalArgumentException if Storage argument is NULL
    Throws
    com::sun::star::lang::WrappedTargetException if an error occurs while loading
    loadMetadataFromMedium
    void
    loadMetadataFromMedium( [in] sequence< ::com::sun::star::beans::PropertyValue >  Medium )
    raises( ::com::sun::star::lang::IllegalArgumentException,
    ::com::sun::star::lang::WrappedTargetException );

    Description
    loads document metadata from a medium.

    If the Medium contains an InteractionHandler, it will be used for error reporting.

    Parameter Medium
    the com::sun::star::document::MediaDescriptor representing the source
    Throws
    com::sun::star::lang::IllegalArgumentException if the argument does not contain a URL or Stream property
    Throws
    com::sun::star::lang::WrappedTargetException if an error occurs while loading
    See also
    ::com::sun::star::document::MediaDescriptor
    storeMetadataToMedium
    void
    storeMetadataToMedium( [in] sequence< ::com::sun::star::beans::PropertyValue >  Medium )
    raises( ::com::sun::star::lang::IllegalArgumentException,
    ::com::sun::star::lang::WrappedTargetException );

    Description
    stores document metadata to a medium.
    Parameter Medium
    the com::sun::star::document::MediaDescriptor representing the target
    Throws
    com::sun::star::lang::IllegalArgumentException if the argument does not contain a URL or Stream property
    Throws
    com::sun::star::lang::WrappedTargetException if an error occurs while storing
    See also
    ::com::sun::star::document::MediaDescriptor
    Top of Page

    Apache Software Foundation

    Copyright & License | Privacy | Contact Us | Donate | Thanks

    Apache, OpenOffice, OpenOffice.org and the seagull logo are registered trademarks of The Apache Software Foundation. The Apache feather logo is a trademark of The Apache Software Foundation. Other names appearing on the site may be trademarks of their respective owners.