2

そこで、Community 4.0.aをインストールし、3.4で以前に行ったように、mimetype-map.xmlを使用してmimetypeリストを拡張しました。

<alfresco-config area="mimetype-map">
<config evaluator="string-compare" condition="Mimetype Map">
    <mimetypes>
<mimetype mimetype="application/dita+xml" text="true" display="DITA">
        <extension default="true" display="DITA Topic">dita</extension>
        <extension default="true" display="DITA Map">ditamap</extension>
        <extension default="true" display="DITA Conditional Processing Profile">ditaval</extension>
      </mimetype>

等...

しかし、DITAファイルをインポートするたびに、XMLファイルまたはプレーンテキストとして認識されます。私はそれを掘り下げましたが、ファイルの先頭を分析してmimetypeをチェックするApacheTIKAが原因のようです。

カスタムmimetype-mapを使用してTIKAをショートカットするにはどうすればよいですか(TIKAが最初にトリガーされ、何かが見つかった場合はゲームオーバーであることがコードからわかります)?

自分のパーサーを作成するTIKAを拡張する必要がありますか?

4

1 に答える 1

1

4.0 の Mimetype マッチング ロジックはわずかに変更され、ファイル名だけでなくコンテンツを検出できるようになりました。この一環として、Tika がファイルが何であるかについて非常に確信がある場合、これが優先されます。

ほとんどの場合、これは、よくあるが間違った名前のファイルの場合、Tika が間違いを修正するのに役立つことを意味します。非標準ファイルの場合、Tika は強力な提案を提供することを拒否し、Alfresco の名前ベースのマッチングが以前と同様に使用されます。(Tika と Alfresco が MIME タイプの標準形式が異なる場合、Alfresco バージョンが優先されます)

ファイルの種類が実際には一般的な種類の特殊化であり、Tika は親の種類については知っているが、特定の種類については知らないという少数のケースがあります。この場合、Tika は親の型を強く示唆しており、Alfresco に追加された新しい型がそれに基づいていることを認識する方法はありません。(Tika には MIME タイプの階層がありますが、Alfresco にはフラットなリストしかありません)。これらの少数のケースでは、Tika もガイドが必要です。

通常の修正は、Tika のバグを報告し、ファイルタイプをアップストリームに追加することです。(非常にカスタムなタイプの場合は、階層 + グロブを定義する Tika custom-mimetypes.xml も追加する必要があります。)

このDITAの場合、TIKA-784を開いて暫定的な修正を加えました。これは現在、Alfresco にも導入されています。

于 2011-11-18T15:42:39.050 に答える