Difference between revisions of "API:EPrints/Plugin/Export/XSLT"
Line 25: | Line 25: | ||
ept:advertise="1" | ept:advertise="1" | ||
ept:accept="list/eprint dataobj/eprint" | ept:accept="list/eprint dataobj/eprint" | ||
− | ept: | + | ept:mimetype="application/xml; charset=utf-8" |
ept:qs="0.1" | ept:qs="0.1" | ||
xmlns:ept="http://eprints.org/ep2/xslt/1.0" | xmlns:ept="http://eprints.org/ep2/xslt/1.0" |
Revision as of 10:20, 17 July 2013
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:mimetype="application/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
This export plugin allows you to use XSL Transforms to export data from EPrints. The plugin is fed EPrints XML and can output any resulting data supported by XSLT.
This is the inverse process of EPrints::Plugin::Import::XSLT.
You can specify a template to use for your output:
<xsl:template match="ept:template"> <html> <body> <xsl:value-of select="$results"/> </body> </html> </xsl:template>
Note: you can output unbalanced XML by using disable-output-escaping:
<xsl:template match="ept:template"> <xsl:text disable-output-escaping="yes"> <html> <body> </xsl:text> <xsl:value-of select="$results"/> </xsl:template>
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 (defaults to XML decl.) postfix Value is printed after any content.
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
Copyright 2000-2011 University of Southampton.
This file is part of EPrints http://www.eprints.org/.
EPrints is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
EPrints is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with EPrints. If not, see http://www.gnu.org/licenses/.