Package org.odftoolkit.odfdom.dom
Class OdfSchemaDocument
- java.lang.Object
-
- org.odftoolkit.odfdom.pkg.OdfPackageDocument
-
- org.odftoolkit.odfdom.dom.OdfSchemaDocument
-
- All Implemented Interfaces:
Closeable,AutoCloseable
- Direct Known Subclasses:
OdfDocument
public abstract class OdfSchemaDocument extends OdfPackageDocument
A document in ODF is from the package view a directory with a media type. If the media type represents a document described by the ODF 1.2 Schema, certain files are assumed within: content.xml, styles.xml, metadata.xml and settings.xml.The class represents such a document, providing easier access to its XML files.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classOdfSchemaDocument.OdfXMLFileThis enum contains all possible standardized XML ODF files of the OpenDocument document.-
Nested classes/interfaces inherited from class org.odftoolkit.odfdom.pkg.OdfPackageDocument
OdfPackageDocument.Resource
-
-
Field Summary
Fields Modifier and Type Field Description protected OdfContentDommContentDomprotected JsonOperationProducermJsonOperationQueueprotected OdfMetaDommMetaDomprotected OdfSettingsDommSettingsDomprotected OdfStylesDommStylesDom-
Fields inherited from class org.odftoolkit.odfdom.pkg.OdfPackageDocument
mDocumentMediaType, mDocumentPathInPackage, mPackage, ROOT_DOCUMENT_PATH, SLASH
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedOdfSchemaDocument(OdfPackage pkg, String internalPath, String mediaTypeString)Creates a new OdfSchemaDocument.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidclose()Close the OdfPackage and release all temporary created data.StringgetBaseURI()Get the URI, where this ODF document is stored.org.apache.jena.rdf.model.ModelgetBookmarkRDFMetadata()Get in-content metadata model of bookmarksOdfContentDomgetContentDom()Return the ODF type-based content DOM of the content.xmlInputStreamgetContentStream()Gets the ODF content.xml file as stream.OdfOfficeStylesgetDocumentStyles()OdfFileDomgetFileDom(OdfSchemaDocument.OdfXMLFile file)org.apache.jena.rdf.model.ModelgetInContentMetadata()Get In Content RDF Metadata through GRDDL XSLT http://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-part1.html#__RefHeading__1415070_253892949org.apache.jena.rdf.model.ModelgetInContentMetadataFromCache()Get in-content metadata cache modelJsonOperationProducergetJsonOperationQueue()org.apache.jena.rdf.model.ModelgetManifestRDFMetadata()Get RDF metadata from manifest.rdf and those rdf files registered in the manifest.xml as "application/rdf+xml" through GRDDL XSLT http://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-part1.html#__RefHeading__1415072_253892949Map<String,StyleMasterPageElement>getMasterPages()Deprecated.This method will be moved to the generated sources as soon code generation was improved!OdfMetaDomgetMetaDom()Return the ODF type-based metadata DOM of the meta.xmlInputStreamgetMetaStream()Gets the ODF metadata.xml file as stream.OdfOfficeMasterStylesgetOfficeMasterStyles()return the office:master-styles element of this document.org.json.JSONObjectgetOperations(CollabTextDocument operationDoc)OdfOfficeStylesgetOrCreateDocumentStyles()org.apache.jena.rdf.model.ModelgetRDFMetadata()Get all two types of RDF Metadata through GRDDL XSLT: http://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-part1.html#__RefHeading__1415068_253892949ComponentgetRootComponent()Returns the component tree of the document.OdfElementgetRootComponentElement(String masterStyleName, PageArea pageArea, boolean createIfNotExisting)Returns the component tree of the document.OdfSettingsDomgetSettingsDom()Return the ODF type-based settings DOM of the settings.xmlInputStreamgetSettingsStream()Gets the ODF settings.xml file as stream.OdfStylegetStyleByDisplayName(OdfStyleFamily styleFamily, String styleDisplayName)OdfStylegetStyleByName(OdfStyleFamily styleFamily, String styleName)OdfStylesDomgetStylesDom()Return the ODF type-based styles DOM of the styles.xmlInputStreamgetStylesStream()Gets the ODF style.xml file as stream.List<TableTableElement>getTables()Deprecated.List<TableTableElement>getTables(boolean deepSearch)Return a list of table features in this document.protected StringgetXMLFilePath(OdfSchemaDocument.OdfXMLFile file)Get the relative path for an embedded ODF document including its file name.voidsetContentDom(OdfContentDom contentDom)Sets the ODF type-based content DOM of the content.xmlvoidsetJsonOperationQueue(JsonOperationProducer queue)voidsetMetaDom(OdfMetaDom metaDom)Sets the ODF type-based meta DOM of the meta.xmlvoidsetRootComponent(Component rootComponent)For instance, header and footer have their own component trees aside the main document.voidsetSettingsDom(OdfSettingsDom settingsDom)Sets the ODF type-based settings DOM of the settings.xmlvoidsetStylesDom(OdfStylesDom stylesDom)Sets the ODF type-based styles DOM of the styles.xml-
Methods inherited from class org.odftoolkit.odfdom.pkg.OdfPackageDocument
flushDoms, getAbsoluteFilePath, getCachedDom, getDocumentPath, getFileDom, getMediaTypeString, getPackage, getXMLFileMetadata, insertDocument, isExternalReference, isRootDocument, loadDocument, loadDocument, loadSubDocument, normalizeDocumentPath, removeDocument, save, save, save, setMediaTypeString
-
-
-
-
Field Detail
-
mContentDom
protected OdfContentDom mContentDom
-
mStylesDom
protected OdfStylesDom mStylesDom
-
mMetaDom
protected OdfMetaDom mMetaDom
-
mSettingsDom
protected OdfSettingsDom mSettingsDom
-
mJsonOperationQueue
protected JsonOperationProducer mJsonOperationQueue
-
-
Constructor Detail
-
OdfSchemaDocument
protected OdfSchemaDocument(OdfPackage pkg, String internalPath, String mediaTypeString)
Creates a new OdfSchemaDocument.- Parameters:
pkg- - the ODF Package that contains the document. A baseURL is being generated based on its location.internalPath- - the directory path within the package from where the document should be loaded.mediaTypeString- - media type of stream. If unknown null can be used.
-
-
Method Detail
-
getJsonOperationQueue
public JsonOperationProducer getJsonOperationQueue()
- Returns:
- JSONObject of operations
-
setJsonOperationQueue
public void setJsonOperationQueue(JsonOperationProducer queue)
-
getOperations
public org.json.JSONObject getOperations(CollabTextDocument operationDoc) throws SAXException, org.json.JSONException, IOException
- Throws:
SAXExceptionorg.json.JSONExceptionIOException
-
getRootComponent
public Component getRootComponent()
Returns the component tree of the document. The component tree is a high level abstraction of components (table, paragraph, character, etc.) from the XML implementation details of the document.The DOM of the content.xml will be created if not done before.
-
getRootComponentElement
public OdfElement getRootComponentElement(String masterStyleName, PageArea pageArea, boolean createIfNotExisting)
Returns the component tree of the document. The component tree is a high level abstraction of components (table, paragraph, character, etc.) from the XML implementation details of the document.The DOM of the content.xml will be created if not done before.
- Parameters:
masterStyleName- the name of the master stylelocalName- the local name of the header or footer XML element- Returns:
- the header or footer element belonging to the given master page style
-
setRootComponent
public void setRootComponent(Component rootComponent)
For instance, header and footer have their own component trees aside the main document. Therefore in a text document may exist three root components.
-
getContentStream
public InputStream getContentStream() throws Exception
Gets the ODF content.xml file as stream.- Returns:
- - a stream of the ODF content 'content.xml' file
- Throws:
Exception- - if the stream can not be extracted
-
getStylesStream
public InputStream getStylesStream() throws Exception
Gets the ODF style.xml file as stream.- Returns:
- - a stream of the ODF style 'styles.xml' file
- Throws:
Exception- - if the stream can not be extracted
-
getSettingsStream
public InputStream getSettingsStream() throws Exception
Gets the ODF settings.xml file as stream.- Returns:
- - a stream of the ODF settings 'setting.xml' file
- Throws:
Exception- - if the stream can not be extracted
-
getMetaStream
public InputStream getMetaStream() throws Exception
Gets the ODF metadata.xml file as stream.- Returns:
- - a stream of the ODF metadata 'meta.xml' file
- Throws:
Exception- - if the stream can not be extracted
-
getXMLFilePath
protected String getXMLFilePath(OdfSchemaDocument.OdfXMLFile file)
Get the relative path for an embedded ODF document including its file name.- Parameters:
file- represents one of the standardized XML ODF files.- Returns:
- path to embedded ODF XML file relative to ODF package root.
-
getBaseURI
public String getBaseURI()
Get the URI, where this ODF document is stored.- Returns:
- the URI to the ODF document. Returns null if document is not stored yet.
-
getContentDom
public OdfContentDom getContentDom() throws SAXException, IOException
Return the ODF type-based content DOM of the content.xml- Returns:
- ODF type-based content DOM or null if no content.xml exists.
- Throws:
Exception- if content DOM could not be initializedSAXExceptionIOException
-
getStylesDom
public OdfStylesDom getStylesDom() throws SAXException, IOException
Return the ODF type-based styles DOM of the styles.xml- Returns:
- ODF type-based styles DOM or null if no styles.xml exists.
- Throws:
Exception- if styles DOM could not be initializedSAXExceptionIOException
-
getMetaDom
public OdfMetaDom getMetaDom() throws SAXException, IOException
Return the ODF type-based metadata DOM of the meta.xml- Returns:
- ODF type-based meta DOM or null if no meta.xml exists.
- Throws:
Exception- if meta DOM could not be initializedSAXExceptionIOException
-
getSettingsDom
public OdfSettingsDom getSettingsDom() throws SAXException, IOException
Return the ODF type-based settings DOM of the settings.xml- Returns:
- ODF type-based settings DOM or null if no settings.xml exists.
- Throws:
Exception- if settings DOM could not be initializedSAXExceptionIOException
-
setContentDom
public void setContentDom(OdfContentDom contentDom)
Sets the ODF type-based content DOM of the content.xml- Parameters:
contentDom- ODF type-based content DOM or null if no content.xml exists.
-
setStylesDom
public void setStylesDom(OdfStylesDom stylesDom)
Sets the ODF type-based styles DOM of the styles.xml- Parameters:
stylesDom- ODF type-based styles DOM or null if no styles.xml exists.
-
setMetaDom
public void setMetaDom(OdfMetaDom metaDom)
Sets the ODF type-based meta DOM of the meta.xml- Parameters:
metaDom- ODF type-based meta DOM or null if no meta.xml exists.
-
setSettingsDom
public void setSettingsDom(OdfSettingsDom settingsDom)
Sets the ODF type-based settings DOM of the settings.xml- Parameters:
settingsDom- ODF type-based settings DOM or null if no settings.xml exists.
-
getDocumentStyles
public OdfOfficeStyles getDocumentStyles()
- Returns:
- the office:styles element from the styles dom
-
getOfficeMasterStyles
public OdfOfficeMasterStyles getOfficeMasterStyles()
return the office:master-styles element of this document.- Returns:
- the office:master-styles element
-
getOrCreateDocumentStyles
public OdfOfficeStyles getOrCreateDocumentStyles()
- Returns:
- the office:styles element from the styles dom. If there is not yet such an element, it is created.
-
getStyleByName
public OdfStyle getStyleByName(OdfStyleFamily styleFamily, String styleName) throws SAXException, IOException
- Throws:
SAXExceptionIOException
-
getStyleByDisplayName
public OdfStyle getStyleByDisplayName(OdfStyleFamily styleFamily, String styleDisplayName) throws SAXException, IOException
- Throws:
SAXExceptionIOException
-
getTables
@Deprecated(since="explicit state whether the search should be recursive") public List<TableTableElement> getTables()
Deprecated.Return a list of table features in this document.- Returns:
- a list of table features in this document.
-
getTables
public List<TableTableElement> getTables(boolean deepSearch)
Return a list of table features in this document.- Parameters:
deepSearch- Go through the whole document in search for tables (including master pages, headers, and footers), or search only at root level for ODS documents.- Returns:
- a list of table features in this document.
-
getMasterPages
@Deprecated public Map<String,StyleMasterPageElement> getMasterPages() throws Exception
Deprecated.This method will be moved to the generated sources as soon code generation was improved!ToDo: Instead of adding all elements using an index to the document, we might add a pattern to the code generation to create a HashMap either on demand (whenever such a structure is required from the user) or by default- Throws:
Exception
-
close
public void close()
Close the OdfPackage and release all temporary created data. After execution of this method, this class is no longer usable. Do this as the last action to free resources. Closing an already closed document has no effect. Note that this will not close any cached documents.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Overrides:
closein classOdfPackageDocument
-
getFileDom
public OdfFileDom getFileDom(OdfSchemaDocument.OdfXMLFile file) throws SAXException, IOException
- Throws:
SAXExceptionIOException
-
getRDFMetadata
public org.apache.jena.rdf.model.Model getRDFMetadata() throws ExceptionGet all two types of RDF Metadata through GRDDL XSLT: http://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-part1.html#__RefHeading__1415068_253892949- Throws:
Exception
-
getInContentMetadata
public org.apache.jena.rdf.model.Model getInContentMetadata() throws ExceptionGet In Content RDF Metadata through GRDDL XSLT http://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-part1.html#__RefHeading__1415070_253892949- Throws:
Exception
-
getInContentMetadataFromCache
public org.apache.jena.rdf.model.Model getInContentMetadataFromCache() throws ExceptionGet in-content metadata cache model- Returns:
- The in-content metadata cache model
- Throws:
Exception
-
getManifestRDFMetadata
public org.apache.jena.rdf.model.Model getManifestRDFMetadata() throws ExceptionGet RDF metadata from manifest.rdf and those rdf files registered in the manifest.xml as "application/rdf+xml" through GRDDL XSLT http://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-part1.html#__RefHeading__1415072_253892949- Throws:
Exception
-
-