Document extends OdfSchemaDocument implements TableContainer { public Document getEmbeddedDocument(String documentPath) { String internalPath = getDocumentPath() + documentPath; internalPath = normalizeDocumentPath(internalPath); Document embeddedDocument = (Document) mPackage.getCachedDocument(internalPath); if (embeddedDocument == null) { String mediaTypeString = getMediaTypeString(); OdfMediaType odfMediaType = OdfMediaType.getOdfMediaType(mediaTypeString); if (odfMediaType == null) { embeddedDocument = newDocument(mPackage, internalPath, odfMediaType); } else { try { String documentMediaType = mPackage.getMediaTypeString(internalPath); odfMediaType = OdfMediaType.getOdfMediaType(documentMediaType); if (odfMediaType == null) { return null; } embeddedDocument = Document.loadDocument(mPackage, internalPath); } catch (Exception ex) { Logger.getLogger(OdfPackageDocument.class.getName()).log(Level.SEVERE, null, ex); } } } return embeddedDocument; } protected  Document(OdfPackage pkg, String internalPath, OdfMediaType mediaType); static Document loadDocument(String documentPath, String password); static Document loadDocument(String documentPath); static Document loadDocument(InputStream inStream); static Document loadDocument(File file); static Document loadDocument(File file, String password); static Document loadDocument(OdfPackage odfPackage); static Document loadDocument(OdfPackage odfPackage, String internalPath); void setPassword(String password); Document getEmbeddedDocument(String documentPath); List<Document> getEmbeddedDocuments(); List<Document> getEmbeddedDocuments(OdfMediaType mediaType); void insertDocument(OdfPackageDocument sourceDocument, String documentPath); Meta getOfficeMetadata(); void save(OutputStream out); void save(File file); void save(File file, String password); @Override void close(); OdfElement getContentRoot(); @Override String toString(); String newImage(URI imageUri); void setLocale(Locale locale); static ScriptType getScriptType(Locale locale); void setLocale(Locale locale, ScriptType scriptType); Locale getLocale(ScriptType scriptType); Iterator<Section> getSectionIterator(); Section getSectionByName(String name); boolean removeElementLinkedResource(OdfElement odfElement); Table addTable(); Table addTable(int numRows, int numCols); Table getTableByName(String name); java.util.List<Table> getTableList(); TableBuilder getTableBuilder(); TableTemplate LoadTableTemplateFromForeignTable(InputStream templateFileInputStream,
        String tableName);  }
@Test public void testGetEmbeddedDocument() throws Exception { try { Document doc = Document.loadDocument(OdfPackage.loadPackage(this.getClass().getResource("/").getPath() + "Spreadsheet with Embeded Chart.ods")); Document innerdoc = doc.getEmbeddedDocument("/"); Assert.assertNotNull(innerdoc); } catch (Exception e) { LOG.log(Level.SEVERE, e.getMessage(), e); Assert.fail(e.getMessage()); } }