2017-01-31 8 views
3

私のDSpaceインスタンスにOAI-PMHを介して追加のメタデータを公開します。新しいメタデータスキーマ "lrmi"を追加し、いくつかのメタデータフィールドも追加しました。投稿フォームを通じて、私はlrmiスキーマのフィールドを使用することができました。しかし、DSpace OAI-PMHインターフェイスでは、これらのフィールドを公開することはできないようです。なぜなら、dcスキーマのフィールドだけを公開するからです。新しいスキーマのカスタムフィールドをOAI-PMHインターフェイスでどのように公開できますか?同じ問題が "IEEE-LOM"スキーマでも発生します。私はこの質問にはこのフォーラムには十分な関連性があると思うが、なぜこれが私の以前の投稿の1つから締め出されたのか分からない。DSpace OAI-PMHメタデータエクスポートを取得する

+0

質問を再投稿しました。 DSpaceの観点から、これは適切な質問です。 – terrywb

+0

私は自分のOAIリポジトリを見て、自分のカスタムメタデータスキーマが存在することを確認しました。これらのフィールドにアクセスしようとするカスタムXSLTクロスウォークを作成しましたか? – terrywb

+0

私よりも、このトピックについて深い知識を持っている人からのより完全な回答を待つ間に、それらのファイルを見てみるとよいでしょう:https://github.com/DSpace/DSpace/tree/master/dspace/config/crosswalks/oai/metadataFormats。私が知る限り、それらは可能なプレフィックスごとにOAI出力を定義するXLS変換を含んでいます。 –

答えて

1

私はあなたの質問について興味があった、いくつかのより多くの研究とテストを行いました。これまでのコメントで述べたthose filesの編集は、あなたが達成しようとしていることを実際に行います。

あなたは直流スキーマ

の下にカスタムフィールドを公開したい場合は、単に、XSLで、すでに存在しているものと同様のブロックを追加する必要があります。例えば。あなたは、DCにあなたのcustom.testフィールドの内容を公開する:あなたが追加することができます説明:

<xsl:for-each select="doc:metadata/doc:element[@name='custom']/doc:element[@name='test']/doc:element/doc:field[@name='value']"> 
    <dc:description><xsl:value-of select="." /></dc:description> 
</xsl:for-each> 

カスタムスキーマの下にカスタムフィールドを公開する

をしたい場合は、正確に同じことを行うことができますdc:descriptionタグを独自のschema:要素に置き換えることで、あなたはxmlnsの下で、メイン<oai_dc:dc>タグにそのカスタムスキーマを宣言する必要があります。その後、

<oai_dc:dc xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" 
    xmlns:dc="http://purl.org/dc/elements/1.1/" 
    xmlns:custom="SOME_URL" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd"> 

<xsl:for-each select="doc:metadata/doc:element[@name='custom']/doc:element[@name='test']/doc:element/doc:field[@name='value']"> 
       <custom:test><xsl:value-of select="." /></custom:test> 
     </xsl:for-each> 
</oai_dc:dc> 

注:これは技術的な観点から作品が、それはしかし、競合するかもしれませんいくつかの機能的な推奨事項/ビジネス上のベストプラクティスがあります

関連する問題