何度か試行錯誤を繰り返した結果... 大きな問題は、EPrints が純粋な Perl ではなく、ドキュメントがあまりないことです...
引用ファイル /eprints/cfg/citations/eprint/default.xmlを編集する必要があります)。次の解決策があります。
<!-- Monograph: if < 4 authors then print 'authors' before title -->
<when test="type = 'monograph'">
<if test="is_set(creators_name)">
<set name='authors' expr="creators_name">
(Debug information) Number of authors:
<print expr="$authors.length()"/>.
<set name='authors_len' expr="$authors.length()">
<if test="$authors_len lt 4">
<print expr="creators_name"/>
</if>
</set>
</set>
</if>
</when>
<!-- Title -->
<cite:linkhere><xhtml:em><print expr="title"/>:</xhtml:em></cite:linkhere>
<!-- "/ authors" after Title for monography if len(authors)>3 -->
<choose>
<when test="type = 'monograph'">
<if test="is_set(creators_name)">
<set name='authors' expr="creators_name">
<set name='authors_len' expr="$authors.length()">
<if test="$authors_len gt 3">
/ <print expr="creators_name"/>
</if>
</set>
</set>
</if>
</when>
<otherwise>
</otherwise>
</choose>
それは機能しますが...同じ変数「authors_len」を2回計算しました。そして、この変数を再利用して一度だけ計算する方法がわかりません。
EPrints 関数 "is_set(authors_len)" を試し、"is_set($authors_len)" を試しましたが、EPrints は異なるエラー メッセージ o_O をスローします