API:EPrints/Plugin/Export/XSLT
EPrints 3 Reference: Directory Structure - Metadata Fields - Repository Configuration - XML Config Files - XML Export Format - EPrints data structure - Core API - Data Objects
Latest Source Code (3.4, 3.3) | Revision Log | Before editing this page please read Pod2Wiki
Contents
NAME
EPrints::Plugin::Export::XSLT - XSLT-based exports
SYNOPSIS
Create a file in Plugins/Export/XSLT/ called 'Title.xsl' containing:
<?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" ept:name="Titles" ept:visible="all" ept:advertise="1" ept:accept="list/eprint dataobj/eprint" ept:mime_type="text/xml; charset=UTF-8" ept:qs="0.1" xmlns:ept="http://eprints.org/ep2/xslt/1.0" xmlns:ep="http://eprints.org/ep2/data/2.0" exclude-result-prefixes="ept ep" > <xsl:param name="results" /> <xsl:template match="text()" /> <xsl:template match="/ept:template"> <titles><xsl:value-of select="$results"/></titles> </xsl:template> <xsl:template match="/ep:eprints/ep:eprint"> <title><xsl:value-of select="ep:title"/></title> </xsl:template> </xsl:stylesheet>
DESCRIPTION
The stylesheet will be called with a document containing this:
<?xml version='1.0'?> <template xmlns="http://eprints.org/ep2/xslt/1.0" />
If the resulting document contains the value of the $result parameter it will be treated as a template for output. The value of $result will be replaced with the output from the following step.
The stylesheet is called once for every item with the full XML record:
<?xml version='1.0'?> <eprints xmlns="http://eprints.org/ep2/data/2.0"> <eprint> <title>The eprint title</title> ... </eprint> </eprints>
Each result document is appended to $result.
If your export format does not require any header or footer wrapping you do not need to implement ept:template - $result will be output as-is.
Controlling XML Declarations
If your stylesheet outputs XML (the default):
<xsl:output method="xml"/>
The XML declaration will only be outputted once at the start of the export, regardless of how many records there are.
To output as XML and suppress the XML declaration entirely define an empty prefix:
<xsl:stylesheet xmlns:ept="http://eprints.org/ep2/xslt/1.0" ept:prefix="" >
PLUGIN OPTIONS
All attributes on <xsl:stylesheet> that are in the EPT namespace are treated as plugin parameters. In addition to those parameters used by all EPrints::Plugin::Export plugins XSLT uses:
prefix Value is printed before any content. postfix Value is printed after any content.
TEMPLATE PARAMETERS
The following parameters are passed to the transform for the template:
results Key-value to be replaced by item results.
STYLESHEET PARAMETERS
The following parameters are passed to the transform for each item:
total Total items in result set. position 1-indexed position in result set. dataset Base id of the item's dataset (e.g. "eprint").
EXTENDED FUNCTIONS
The standard EPrints global extended XPath functions are supported, see EPrints::XSLT.
SEE ALSO
COPYRIGHT