Как загрузить файлы docx, xlsx и txt на сервер Marklogic?

У меня есть папка, содержащая файлы doc, docx, xlsx, pdf и txt. Я загружаю все эти файлы в Marklogic с помощью этого XQuery: -

for $d in xdmp:filesystem-directory("C:\uploads")//dir:entry
return 
  xdmp:document-load($d//dir:pathname,
    <options xmlns="xdmp:document-load">
    <uri>{concat("/documents/", string($d//dir:filename))}</uri>
    <permissions>{xdmp:default-permissions()}</permissions>
    <collections>{xdmp:default-collections()}</collections>
    <format>binary</format>
    </options>)

Я также установил обработку контента для своей базы данных. Теперь, когда я загружаю файлы doc и pdf, они конвертируются в файлы xml и xhtml. Но docx, xlsx и txt не конвертируются. Может кто-нибудь сказать мне, почему эти файлы не конвертируются?


person Puneet Pant    schedule 28.06.2012    source источник
comment
Зачем вам нужно преобразовывать текстовые файлы?   -  person Eric Bloch    schedule 28.06.2012
comment
Потому что я хочу искать в текстовом файле с помощью search: search API.   -  person Puneet Pant    schedule 29.06.2012


Ответы (1)


Включите конвейер извлечения Office OpenXML для преобразования файлов .docx, .xlsx и .pptx.

Файлы с этими расширениями уже являются XML. Если бы вы изменили их расширение на .zip, вы могли бы извлечь и увидеть, что файлы просто состоят из взаимосвязанных частей XML.

Конвейер извлечения Office OpenXML распакует файлы Office 2007/2010 и сохранит их необходимые части в каталоге, родственном главному файлу, аналогично другим конвейерам преобразования. Этот конвейер позволяет хранить необработанный Open XML. В настоящее время дальнейшее преобразование DocBook в XHTML не производится.

Мне известно, что конвертация для .txt отсутствует. Это просто текстовые файлы, которые будут вставлены в MarkLogic как текст. Вы можете преобразовать в XML, просто заключив текст в родительский элемент и изменив расширение файла на .xml.

Надеюсь это поможет.

person wpaven    schedule 28.06.2012