2

MS Office のワード/エクセル ドキュメントを Marklogic に読み込み、xml ドキュメントと同じように xquery でクエリを実行したいと考えています。しかし、ドキュメント ファイルを Marklogic に読み込むと、バイナリ形式で読み込まれ、クエリ コンソールで表示するとジャンク文字が表示されます。次のコマンドでロードを試みました:-

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 を使用してクエリを実行するにはどうすればよいでしょうか。また、Office 2007 と 2010 の両方が OOXML 形式をサポートしているため、変換プロセスに MS Office 2007/2010 のインストールが必要かどうかも知りたいです。

これについて適切な指導をお願いします。

4

3 に答える 3

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 以前のバージョンのデフォルト設定です)。

于 2012-05-31T15:16:46.283 に答える
3

これらはバイナリであるため、バイナリとして挿入する必要があります。しかし、あなたはそれらを変換したいと考えています。MarkLogic は、それを自動的に行うことができます。これを行うには、次の手順を実行します。

  • 管理画面を開く
  • 適切なデータベースに移動します
  • コンテンツ処理ページを開く
  • [インストール] タブを開き、[変換を有効にする] トグルを [true] に設定して、[インストール] をクリックします。
  • ドメインのスコープをチェックして、そのスコープ内に挿入していることを確認します。たとえば、スコープ uri で始まるデータベース uri にドキュメントを挿入します。(これはおそらく、 / で始まる uri オプションを xdmp:document-load に追加する必要があることを意味します)
  • パイプラインをチェックして、自動的に変換されるコンテンツの種類と、どの形式 (通常は xhtml または docbook) に変換されるかを確認します。
  • xdmp:document-load を再実行します

Content Processing Framework は、変換結果を含む追加のファイルを作成します。これは通常、テキストを含む xhtml、存在する場合は個別の画像ファイル、レイアウト プロパティを含む css などで構成されます。

これには、変換オプション付きのライセンスが必要です。

チッ!

于 2012-05-31T13:53:59.607 に答える
0

OOXML

.docXQuery プロセッサで.xls直接処理できないバイナリ ファイルです。

あなたが言及したようにOOXMLを使用してください。ファイルを圧縮された XMLファイルとして保存する.docxか、圧縮され.xlsxた XML ファイルとして保存します (zip フォルダーに画像などのリソースがいくつかあります)。おそらく、Marklogic zip モジュールがファイルの抽出に役立つでしょう。

MS Office 2003 の使用

これは、 File Format Compatibility Packがインストールされた MS Office 2003 を使用して行うこともできます。バッチ変換のお手伝いができなくて申し訳ありませんが、VBA を使用してこれを行う方法があることは確かです - 必要に応じて別の質問をしてください。

于 2012-05-31T13:48:13.837 に答える