EPrints Control Format
EPrints 3 Reference: Directory Structure - Metadata Fields - Repository Configuration - XML Config Files - XML Export Format - EPrints data structure - Core API - Data Objects
XML Configuration: EPScript - Control Format (EPC) - Citation - Workflow - Phrase - Template - XPAGE (static pages)
Contents
EPrints Control
Output Tags
epc:print
<epc:print expr='expression' opt='key=value;key2=value2'/>
<cite:citation xmlns="http://www.w3.org/1999/xhtml" xmlns:cite="http://eprints.org/ep3/citation" xmlns:epc="http://eprints.org/ep3/control"> <epc:print expr="$item.citation('default')" /> </cite:citation>
Outputs the result of the expression in the 'expr' attribute.
Expressions can include:
$config{xxx} - a value from the configuration.
$current_user - the current user. So you print $current_user{username}
$current_lang - the id of the current language eg 'en'
$item - the current item (usually an eprint, but not always, eg in citations or workflows for user objects). So you can print $item{eprintid}. If you just use {eprintid} it is a shortcut for {$item{eprintid}}
Rendering options may be passed in the opt attribute using a key=value form, with semicolons separating multiple options.
epc:phrase
<epc:phrase ref='phraseid'> <epc:param name='somepin'>Content</epc:param> </epc:phrase>
Outputs the content of the phrase refered to by 'ref'. Any necessary parameters may be set using the <epc:param> tag, with the contents inserted into the pin with the name corresponding to the name attribute.
Conditional Tags
epc:if
<epc:if test='expr'> ... </epc:if>
Outputs any XHTML content and evaluates any EPrints Control structures within the epc:if block if the expression in the test attribute is true.
epc:choose
<epc:choose> <epc:when test='expr'> ... </epc:when> <epc:when test='expr2'> ... </epc:when> <epc:otherwise> ... </epc:otherwise> </epc:choose>
epc:choose allows for the construction of a complex conditional. Each epc:when block's 'test' attribute is evaluated, and the content of the block is returned if the result is true. If no expressions return true, the optional epc:otherwise block is returned. Note that no subsequent epc:when blocks are evaluated once the first block to return true is reached.