mirror of
https://github.com/DSpace/DSpace.git
synced 2025-10-16 14:33:09 +00:00
121 lines
7.9 KiB
XML
121 lines
7.9 KiB
XML
<?xml version="1.0" encoding="UTF-8" ?>
|
|
<!-- http://www.openarchives.org/OAI/2.0/oai_dc.xsd -->
|
|
<xsl:stylesheet
|
|
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
|
xmlns:doc="http://www.lyncode.com/xoai"
|
|
version="1.0">
|
|
<xsl:output omit-xml-declaration="yes" method="xml" indent="yes" />
|
|
|
|
<xsl:template match="/">
|
|
<d:DIDL xmlns:d="urn:mpeg:mpeg21:2002:02-DIDL-NS"
|
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
xsi:schemaLocation="urn:mpeg:mpeg21:2002:02-DIDL-NS http://standards.iso.org/ittf/PubliclyAvailableStandards/MPEG-21_schema_files/did/didl.xsd">
|
|
<xsl:if test="doc:metadata/doc:element[@name='dc']/doc:element[@name='date']/doc:element[@name='available']/doc:element/doc:field[@name='value']">
|
|
<d:DIDLInfo>
|
|
<dcterms:created xmlns:dcterms="http://purl.org/dc/terms/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://purl.org/dc/terms/ http://dublincore.org/schemas/xmls/qdc/dcterms.xsd">
|
|
<xsl:value-of select="doc:metadata/doc:element[@name='dc']/doc:element[@name='date']/doc:element[@name='available']/doc:element/doc:field/text()" />
|
|
</dcterms:created>
|
|
</d:DIDLInfo>
|
|
</xsl:if>
|
|
<d:Item>
|
|
<xsl:attribute name="id">
|
|
<xsl:value-of select="concat('hdl_', translate(doc:metadata/doc:element[@name='others']/doc:field[@name='handle']/text(),'/','_'))" />
|
|
</xsl:attribute>
|
|
<d:Descriptor>
|
|
<d:Statement mimeType="application/xml; charset=utf-8">
|
|
<dii:Identifier xmlns:dii="urn:mpeg:mpeg21:2002:01-DII-NS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:mpeg:mpeg21:2002:01-DII-NS http://standards.iso.org/ittf/PubliclyAvailableStandards/MPEG-21_schema_files/dii/dii.xsd">urn:hdl:<xsl:value-of select="doc:metadata/doc:element[@name='others']/doc:field[@name='handle']/text()" /></dii:Identifier>
|
|
</d:Statement>
|
|
</d:Descriptor>
|
|
<d:Descriptor>
|
|
<d:Statement mimeType="application/xml; charset=utf-8">
|
|
<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: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='dc']/doc:element[@name='title']/doc:element/doc:field[@name='value']">
|
|
<dc:title><xsl:value-of select="." /></dc:title>
|
|
</xsl:for-each>
|
|
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='contributor']/doc:element[@name='author']/doc:element/doc:field[@name='value']">
|
|
<dc:creator><xsl:value-of select="." /></dc:creator>
|
|
</xsl:for-each>
|
|
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='contributor']/doc:element[@name!='author']/doc:element/doc:field[@name='value']">
|
|
<dc:contributor><xsl:value-of select="." /></dc:contributor>
|
|
</xsl:for-each>
|
|
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='subject']/doc:element/doc:field[@name='value']">
|
|
<dc:subject><xsl:value-of select="." /></dc:subject>
|
|
</xsl:for-each>
|
|
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='description']/doc:element/doc:field[@name='value']">
|
|
<dc:description><xsl:value-of select="." /></dc:description>
|
|
</xsl:for-each>
|
|
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='description']/doc:element[@name='abstract']/doc:element/doc:field[@name='value']">
|
|
<dc:description><xsl:value-of select="." /></dc:description>
|
|
</xsl:for-each>
|
|
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='date']/doc:element/doc:element/doc:field[@name='value']">
|
|
<dc:date><xsl:value-of select="." /></dc:date>
|
|
</xsl:for-each>
|
|
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='type']/doc:element/doc:field[@name='value']">
|
|
<dc:type><xsl:value-of select="." /></dc:type>
|
|
</xsl:for-each>
|
|
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='identifier']/doc:element/doc:element/doc:field[@name='value']">
|
|
<dc:identifier><xsl:value-of select="." /></dc:identifier>
|
|
</xsl:for-each>
|
|
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='language']/doc:element/doc:element/doc:field[@name='value']">
|
|
<dc:language><xsl:value-of select="." /></dc:language>
|
|
</xsl:for-each>
|
|
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='relation']/doc:element/doc:element/doc:field[@name='value']">
|
|
<dc:relation><xsl:value-of select="." /></dc:relation>
|
|
</xsl:for-each>
|
|
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='relation']/doc:element/doc:field[@name='value']">
|
|
<dc:relation><xsl:value-of select="." /></dc:relation>
|
|
</xsl:for-each>
|
|
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='rights']/doc:element/doc:element/doc:field[@name='value']">
|
|
<dc:rights><xsl:value-of select="." /></dc:rights>
|
|
</xsl:for-each>
|
|
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='rights']/doc:element/doc:field[@name='value']">
|
|
<dc:rights><xsl:value-of select="." /></dc:rights>
|
|
</xsl:for-each>
|
|
<xsl:for-each select="doc:metadata/doc:element[@name='bitstreams']/doc:element[@name='bitstream']/doc:field[@name='format']">
|
|
<dc:format><xsl:value-of select="." /></dc:format>
|
|
</xsl:for-each>
|
|
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='coverage']/doc:element/doc:field[@name='value']">
|
|
<dc:coverage><xsl:value-of select="." /></dc:coverage>
|
|
</xsl:for-each>
|
|
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='coverage']/doc:element/doc:element/doc:field[@name='value']">
|
|
<dc:coverage><xsl:value-of select="." /></dc:coverage>
|
|
</xsl:for-each>
|
|
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='publisher']/doc:element/doc:field[@name='value']">
|
|
<dc:publisher><xsl:value-of select="." /></dc:publisher>
|
|
</xsl:for-each>
|
|
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='publisher']/doc:element/doc:element/doc:field[@name='value']">
|
|
<dc:publisher><xsl:value-of select="." /></dc:publisher>
|
|
</xsl:for-each>
|
|
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='source']/doc:element/doc:field[@name='value']">
|
|
<dc:source><xsl:value-of select="." /></dc:source>
|
|
</xsl:for-each>
|
|
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='source']/doc:element/doc:element/doc:field[@name='value']">
|
|
<dc:source><xsl:value-of select="." /></dc:source>
|
|
</xsl:for-each>
|
|
</oai_dc:dc>
|
|
</d:Statement>
|
|
</d:Descriptor>
|
|
<xsl:for-each select="doc:metadata/doc:element[@name='bundles']/doc:element[@name='bundle']">
|
|
<xsl:if test="doc:field[@name='name']/text() = 'ORIGINAL'">
|
|
<xsl:for-each select="doc:element[@name='bitstreams']/doc:element">
|
|
<d:Component>
|
|
<xsl:attribute name="id">
|
|
<xsl:value-of select="translate(/doc:metadata/doc:element[@name='others']/doc:field[@name='handle']/text(),'/','_')"></xsl:value-of>_<xsl:value-of select="doc:field[@name='sid']/text()"></xsl:value-of>
|
|
</xsl:attribute>
|
|
<d:Resource>
|
|
<xsl:attribute name="ref">
|
|
<xsl:value-of select="doc:field[@name='url']/text()"></xsl:value-of>
|
|
</xsl:attribute>
|
|
<xsl:attribute name="mimeType">
|
|
<xsl:value-of select="doc:field[@name='format']/text()"></xsl:value-of>
|
|
</xsl:attribute>
|
|
</d:Resource>
|
|
</d:Component>
|
|
</xsl:for-each>
|
|
</xsl:if>
|
|
</xsl:for-each>
|
|
</d:Item>
|
|
</d:DIDL>
|
|
</xsl:template>
|
|
</xsl:stylesheet>
|