2012-05-31 23 views
2

我想將MS Office word/excel文檔加載到Marklogic中,並且想用xquery查詢它們,就像用xml文檔完成的一樣。但是,當我將doc文件加載到Marklogic中時,它會將它們加載到二進制格式,並在使用查詢控制檯查看時顯示垃圾字符。我試着用下面的命令加載: -如何在Marklogic Server中加載和查詢word/excel文檔?

xdmp:document-load("E:\doc\sample.doc", 
    <options xmlns="xdmp:document-load" 
      xmlns:http="xdmp:http"> 
     <format>xml</format> 
    </options>) 

但它顯示一個錯誤,說文檔不是UTF 8編碼。我想知道doc和xls文件是否可以加載到Marklogic中,或者在加載之前必須將它們轉換爲xml或UTF 8編碼格式。如果是,那麼轉換它們的過程是什麼。如果不是,那麼我們如何用xquery查詢它們。我也想知道,如果MS Office 2007/2010安裝對於轉換過程是必要的,因爲Office 2007支持OOXML格式。

請給我適當的指導。

回答

0

OOXML

.doc.xls是不能由XQuery處理直接處理二進制文件。

使用OOXML像你所說的。將文件保存爲.docx.xlsx,這些文件是壓縮的XML文件(帶有更多資源,如zip文件夾中的圖像)。也許Marklogic zip module可以幫助您提取文件。

使用MS Office 2003的

這也可以使用MS Office 2003安裝的File Format Compatibility Pack完成。我很抱歉,我無法幫助您進行批量轉換,但確定有一些方法可以使用VBA進行此操作 - 如果需要,請提出另一個問題。

3

它們是二進制的,所以它們應該作爲二進制插入。但是你希望他們被轉換。 MarkLogic可以自動爲你做到這一點。要做到這一點做到以下幾點:

  • 打開管理界面
  • 轉到相應的數據庫
  • 打開內容處理頁面
  • 打開安裝選項卡,將「啓用轉換」切換到「 true「,然後點擊安裝
  • 檢查域的範圍以確保您在該範圍內插入,例如將文檔插入到以範圍uri開頭的數據庫uri中。 (這很可能意味着您需要向xdmp添加一個uri選項:以/開頭的文檔加載)
  • 檢查管道以查看自動轉換哪些類型的內容以及哪些格式(最典型的是xhtml或docbook )
  • 重新運行xdmp:文檔負載

內容處理框架將創建一個包含轉換結果的其他文件。這通常包括一個XHTML與文本,如果有任何單獨的圖像文件,與佈局屬性的CSS等。

這確實需要與轉換選項的許可證。

HTH!

+0

您的意思是Marklogic的行貨版本是必需的。此功能在快速版中不可用。我對嗎 ? –

+0

@ puneet-pant當然沒有包含在社區許可證中。但我認爲它是在Express許可證中,就像一些最常用的語言一樣。另一方面,如果您可以將它們轉換爲2007/2010格式,那麼您可以遵循wpaven針對這些格式使用可用管道的出色建議。正如他所說,這不需要許可證轉換選項功能。 – grtjn

+0

值得一提的是最近的'xdmp:document-filter'函數,該函數也被封裝在內置的轉換管道中。與例如'xdmp:pdf-convert'相反,它不會花費很多精力來保存文檔的樣式和佈局,但它能夠抓取200多種二進制格式。結果是XHTML元數據記錄在html:meta標籤中。通常足夠FT搜索二進制文件.. – grtjn

6

如果您使用2007/2010之前的格式處理Office文檔,Grtjn的回覆是正確的。對於2007/2010文檔,在CPF中啓用「Office OpenXML ExtractOffice OpenXML Extract」管道並重新加載文檔。該管道不需要額外的轉換選項。它將按原樣加載源XML。

Office 2007/2010文檔只是包含相關XML部件的.zip文件。此管道將解壓任何.docx,.xlsx,.pptx文檔並將其組件部分保存在源文檔之後命名的目錄中。該目錄將作爲兄弟文件保存到源文檔,並將鏈接到源文件,例如,如果刪除源文件.docx,則包含提取的部分的目錄也將被刪除。

確保數據庫的自動目錄創建設置爲true。 (這是MarkLogic 5.0和以前版本的默認設置)。

+0

這意味着只有docx文件可以轉換和Office 2003文檔文件不能轉換? –

+0

@ puneet-pant是的,您將不得不將您的.doc文件轉換爲.docx才能正確處理它們。除非你決定結合我和wpaven的建議。它們可以共存,所以你會對這兩種格式都有自然的支持。 – grtjn