Skip to content

Commit 1e67fbe

Browse files
committed
remove identifier.other from oai
1 parent 27c0ad8 commit 1e67fbe

25 files changed

Lines changed: 3714 additions & 58 deletions
Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
<?xml version="1.0" encoding="UTF-8" ?>
2+
<!-- http://www.openarchives.org/OAI/2.0/oai_dc.xsd -->
3+
<xsl:stylesheet
4+
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
5+
xmlns:doc="http://www.lyncode.com/xoai"
6+
version="1.0">
7+
<xsl:output omit-xml-declaration="yes" method="xml" indent="yes" />
8+
9+
<xsl:template match="/">
10+
<d:DIDL xmlns:d="urn:mpeg:mpeg21:2002:02-DIDL-NS"
11+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
12+
xsi:schemaLocation="urn:mpeg:mpeg21:2002:02-DIDL-NS http://standards.iso.org/ittf/PubliclyAvailableStandards/MPEG-21_schema_files/did/didl.xsd">
13+
<xsl:if test="doc:metadata/doc:element[@name='dc']/doc:element[@name='date']/doc:element[@name='available']/doc:element/doc:field[@name='value']">
14+
<d:DIDLInfo>
15+
<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">
16+
<xsl:value-of select="doc:metadata/doc:element[@name='dc']/doc:element[@name='date']/doc:element[@name='available']/doc:element/doc:field/text()" />
17+
</dcterms:created>
18+
</d:DIDLInfo>
19+
</xsl:if>
20+
<d:Item>
21+
<xsl:attribute name="id">
22+
<xsl:value-of select="concat('hdl_', translate(doc:metadata/doc:element[@name='others']/doc:field[@name='handle']/text(),'/','_'))" />
23+
</xsl:attribute>
24+
<d:Descriptor>
25+
<d:Statement mimeType="application/xml; charset=utf-8">
26+
<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>
27+
</d:Statement>
28+
</d:Descriptor>
29+
<d:Descriptor>
30+
<d:Statement mimeType="application/xml; charset=utf-8">
31+
<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">
32+
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='title']/doc:element/doc:field[@name='value']">
33+
<dc:title><xsl:value-of select="." /></dc:title>
34+
</xsl:for-each>
35+
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='contributor']/doc:element[@name='author']/doc:element/doc:field[@name='value']">
36+
<dc:creator><xsl:value-of select="." /></dc:creator>
37+
</xsl:for-each>
38+
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='contributor']/doc:element[@name!='author']/doc:element/doc:field[@name='value']">
39+
<dc:contributor><xsl:value-of select="." /></dc:contributor>
40+
</xsl:for-each>
41+
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='subject']/doc:element/doc:field[@name='value']">
42+
<dc:subject><xsl:value-of select="." /></dc:subject>
43+
</xsl:for-each>
44+
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='description']/doc:element/doc:field[@name='value']">
45+
<dc:description><xsl:value-of select="." /></dc:description>
46+
</xsl:for-each>
47+
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='description']/doc:element[@name='abstract']/doc:element/doc:field[@name='value']">
48+
<dc:description><xsl:value-of select="." /></dc:description>
49+
</xsl:for-each>
50+
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='date']/doc:element/doc:element/doc:field[@name='value']">
51+
<dc:date><xsl:value-of select="." /></dc:date>
52+
</xsl:for-each>
53+
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='type']/doc:element/doc:field[@name='value']">
54+
<dc:type><xsl:value-of select="." /></dc:type>
55+
</xsl:for-each>
56+
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='identifier']/doc:element/doc:element/doc:field[@name='value']">
57+
<dc:identifier><xsl:value-of select="." /></dc:identifier>
58+
</xsl:for-each>
59+
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='language']/doc:element/doc:element/doc:field[@name='value']">
60+
<dc:language><xsl:value-of select="." /></dc:language>
61+
</xsl:for-each>
62+
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='relation']/doc:element/doc:element/doc:field[@name='value']">
63+
<dc:relation><xsl:value-of select="." /></dc:relation>
64+
</xsl:for-each>
65+
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='relation']/doc:element/doc:field[@name='value']">
66+
<dc:relation><xsl:value-of select="." /></dc:relation>
67+
</xsl:for-each>
68+
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='rights']/doc:element/doc:element/doc:field[@name='value']">
69+
<dc:rights><xsl:value-of select="." /></dc:rights>
70+
</xsl:for-each>
71+
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='rights']/doc:element/doc:field[@name='value']">
72+
<dc:rights><xsl:value-of select="." /></dc:rights>
73+
</xsl:for-each>
74+
<xsl:for-each select="doc:metadata/doc:element[@name='bitstreams']/doc:element[@name='bitstream']/doc:field[@name='format']">
75+
<dc:format><xsl:value-of select="." /></dc:format>
76+
</xsl:for-each>
77+
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='coverage']/doc:element/doc:field[@name='value']">
78+
<dc:coverage><xsl:value-of select="." /></dc:coverage>
79+
</xsl:for-each>
80+
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='coverage']/doc:element/doc:element/doc:field[@name='value']">
81+
<dc:coverage><xsl:value-of select="." /></dc:coverage>
82+
</xsl:for-each>
83+
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='publisher']/doc:element/doc:field[@name='value']">
84+
<dc:publisher><xsl:value-of select="." /></dc:publisher>
85+
</xsl:for-each>
86+
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='publisher']/doc:element/doc:element/doc:field[@name='value']">
87+
<dc:publisher><xsl:value-of select="." /></dc:publisher>
88+
</xsl:for-each>
89+
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='source']/doc:element/doc:field[@name='value']">
90+
<dc:source><xsl:value-of select="." /></dc:source>
91+
</xsl:for-each>
92+
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='source']/doc:element/doc:element/doc:field[@name='value']">
93+
<dc:source><xsl:value-of select="." /></dc:source>
94+
</xsl:for-each>
95+
</oai_dc:dc>
96+
</d:Statement>
97+
</d:Descriptor>
98+
<xsl:for-each select="doc:metadata/doc:element[@name='bundles']/doc:element[@name='bundle']">
99+
<xsl:if test="doc:field[@name='name']/text() = 'ORIGINAL'">
100+
<xsl:for-each select="doc:element[@name='bitstreams']/doc:element">
101+
<d:Component>
102+
<xsl:attribute name="id">
103+
<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>
104+
</xsl:attribute>
105+
<d:Resource>
106+
<xsl:attribute name="ref">
107+
<xsl:value-of select="doc:field[@name='url']/text()"></xsl:value-of>
108+
</xsl:attribute>
109+
<xsl:attribute name="mimeType">
110+
<xsl:value-of select="doc:field[@name='format']/text()"></xsl:value-of>
111+
</xsl:attribute>
112+
</d:Resource>
113+
</d:Component>
114+
</xsl:for-each>
115+
</xsl:if>
116+
</xsl:for-each>
117+
</d:Item>
118+
</d:DIDL>
119+
</xsl:template>
120+
</xsl:stylesheet>
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
<?xml version="1.0" encoding="UTF-8" ?>
2+
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
3+
xmlns:doc="http://www.lyncode.com/xoai"
4+
xmlns:dim="http://www.dspace.org/xmlns/dspace/dim" version="1.0">
5+
<xsl:output omit-xml-declaration="yes" method="xml" indent="yes"/>
6+
7+
<!-- An identity transformation to show the internal XOAI generated XML -->
8+
<xsl:template match="/">
9+
<dim:dim xmlns:dim="http://www.dspace.org/xmlns/dspace/dim" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:schemaLocation="http://www.dspace.org/xmlns/dspace/dim http://www.dspace.org/schema/dim.xsd">
11+
<xsl:apply-templates select="//doc:field[@name='value']"/>
12+
</dim:dim>
13+
</xsl:template>
14+
15+
<xsl:template match="/doc:metadata/doc:element/doc:element/doc:element/doc:field[@name='value']">
16+
<xsl:call-template name="dimfield">
17+
<xsl:with-param name="mdschema" select="../../../@name"/>
18+
<xsl:with-param name="element" select="../../@name"/>
19+
<xsl:with-param name="qualifier"/>
20+
<xsl:with-param name="language" select="../@name"/>
21+
<xsl:with-param name="authority" select="following-sibling::doc:field[1][@name='authority']"/>
22+
<xsl:with-param name="confidence" select="following-sibling::doc:field[2][@name='confidence']"/>
23+
<xsl:with-param name="value" select="text()"/>
24+
</xsl:call-template>
25+
</xsl:template>
26+
27+
<xsl:template match="/doc:metadata/doc:element/doc:element/doc:element/doc:element/doc:field[@name='value']">
28+
<xsl:call-template name="dimfield">
29+
<xsl:with-param name="mdschema" select="../../../../@name"/>
30+
<xsl:with-param name="element" select="../../../@name"/>
31+
<xsl:with-param name="qualifier" select="../../@name"/>
32+
<xsl:with-param name="language" select="../@name" />
33+
<xsl:with-param name="authority" select="following-sibling::doc:field[1][@name='authority']"/>
34+
<xsl:with-param name="confidence" select="following-sibling::doc:field[2][@name='confidence']"/>
35+
<xsl:with-param name="value" select="text()"/>
36+
</xsl:call-template>
37+
</xsl:template>
38+
39+
<xsl:template name="dimfield">
40+
<xsl:param name="mdschema"/>
41+
<xsl:param name="element"/>
42+
<xsl:param name="qualifier"/>
43+
<xsl:param name="language"/>
44+
<xsl:param name="authority"/>
45+
<xsl:param name="confidence"/>
46+
<xsl:param name="value"/>
47+
48+
<dim:field>
49+
<xsl:attribute name="mdschema">
50+
<xsl:value-of select="$mdschema"/>
51+
</xsl:attribute>
52+
53+
<xsl:attribute name="element">
54+
<xsl:value-of select="$element"/>
55+
</xsl:attribute>
56+
57+
<xsl:if test="$qualifier">
58+
<xsl:attribute name="qualifier">
59+
<xsl:value-of select="$qualifier"/>
60+
</xsl:attribute>
61+
</xsl:if>
62+
63+
<xsl:choose>
64+
<xsl:when test="$language='none'"/>
65+
<xsl:otherwise>
66+
<xsl:attribute name="lang">
67+
<xsl:value-of select="$language"/>
68+
</xsl:attribute>
69+
</xsl:otherwise>
70+
</xsl:choose>
71+
72+
<xsl:if test="$authority">
73+
<xsl:attribute name="authority">
74+
<xsl:value-of select="$authority"/>
75+
</xsl:attribute>
76+
</xsl:if>
77+
78+
<xsl:if test="$confidence">
79+
<xsl:attribute name="confidence">
80+
<xsl:value-of select="$confidence"/>
81+
</xsl:attribute>
82+
</xsl:if>
83+
84+
<xsl:value-of select="$value"/>
85+
</dim:field>
86+
</xsl:template>
87+
88+
</xsl:stylesheet>
Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
<?xml version="1.0" encoding="UTF-8" ?>
2+
<xsl:stylesheet
3+
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
4+
xmlns:doc="http://www.lyncode.com/xoai"
5+
version="1.0">
6+
<xsl:output omit-xml-declaration="yes" method="xml" indent="yes" />
7+
8+
<xsl:template match="/">
9+
<thesis xmlns="http://www.ndltd.org/standards/metadata/etdms/1.0/"
10+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
11+
xsi:schemaLocation="http://www.ndltd.org/standards/metadata/etdms/1.0/ http://www.ndltd.org/standards/metadata/etdms/1.0/etdms.xsd">
12+
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='title']/doc:element/doc:field[@name='value']">
13+
<title><xsl:value-of select="." /></title>
14+
</xsl:for-each>
15+
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='contributor']/doc:element[@name='author']/doc:element/doc:field[@name='value']">
16+
<creator><xsl:value-of select="." /></creator>
17+
</xsl:for-each>
18+
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='contributor']/doc:element[@name!='author']/doc:element/doc:field[@name='value']">
19+
<contributor><xsl:value-of select="." /></contributor>
20+
</xsl:for-each>
21+
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='subject']/doc:element/doc:field[@name='value']">
22+
<subject><xsl:value-of select="." /></subject>
23+
</xsl:for-each>
24+
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='description']/doc:element/doc:field[@name='value']">
25+
<description><xsl:value-of select="." /></description>
26+
</xsl:for-each>
27+
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='description']/doc:element[@name='abstract']/doc:element/doc:field[@name='value']">
28+
<description><xsl:value-of select="." /></description>
29+
</xsl:for-each>
30+
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='date']/doc:element/doc:element/doc:field[@name='value']">
31+
<date><xsl:value-of select="substring(.,0,11)" /></date>
32+
</xsl:for-each>
33+
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='type']/doc:element/doc:field[@name='value']">
34+
<type><xsl:value-of select="." /></type>
35+
</xsl:for-each>
36+
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='identifier']/doc:element/doc:element/doc:field[@name='value']">
37+
<identifier><xsl:value-of select="." /></identifier>
38+
</xsl:for-each>
39+
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='language']/doc:element/doc:element/doc:field[@name='value']">
40+
<language><xsl:value-of select="." /></language>
41+
</xsl:for-each>
42+
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='relation']/doc:element/doc:element/doc:field[@name='value']">
43+
<relation><xsl:value-of select="." /></relation>
44+
</xsl:for-each>
45+
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='relation']/doc:element/doc:field[@name='value']">
46+
<relation><xsl:value-of select="." /></relation>
47+
</xsl:for-each>
48+
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='rights']/doc:element/doc:element/doc:field[@name='value']">
49+
<rights><xsl:value-of select="." /></rights>
50+
</xsl:for-each>
51+
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='rights']/doc:element/doc:field[@name='value']">
52+
<rights><xsl:value-of select="." /></rights>
53+
</xsl:for-each>
54+
<xsl:for-each select="doc:metadata/doc:element[@name='bitstreams']/doc:element[@name='bitstream']/doc:field[@name='format']">
55+
<format><xsl:value-of select="." /></format>
56+
</xsl:for-each>
57+
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='coverage']/doc:element/doc:field[@name='value']">
58+
<coverage><xsl:value-of select="." /></coverage>
59+
</xsl:for-each>
60+
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='coverage']/doc:element/doc:element/doc:field[@name='value']">
61+
<coverage><xsl:value-of select="." /></coverage>
62+
</xsl:for-each>
63+
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='publisher']/doc:element/doc:field[@name='value']">
64+
<publisher><xsl:value-of select="." /></publisher>
65+
</xsl:for-each>
66+
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='publisher']/doc:element/doc:element/doc:field[@name='value']">
67+
<publisher><xsl:value-of select="." /></publisher>
68+
</xsl:for-each>
69+
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='source']/doc:element/doc:field[@name='value']">
70+
<source><xsl:value-of select="." /></source>
71+
</xsl:for-each>
72+
<xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='source']/doc:element/doc:element/doc:field[@name='value']">
73+
<source><xsl:value-of select="." /></source>
74+
</xsl:for-each>
75+
<xsl:if test="doc:metadata/doc:element[@name='thesis']">
76+
<degree>
77+
<xsl:for-each select="doc:metadata/doc:element[@name='thesis']/doc:element[@name='name']/doc:element/doc:field[@name='value']">
78+
<name><xsl:value-of select="." /></name>
79+
</xsl:for-each>
80+
<xsl:for-each select="doc:metadata/doc:element[@name='thesis']/doc:element[@name='name']/doc:element/doc:element/doc:field[@name='value']">
81+
<name><xsl:value-of select="." /></name>
82+
</xsl:for-each>
83+
<xsl:for-each select="doc:metadata/doc:element[@name='thesis']/doc:element[@name='level']/doc:element/doc:field[@name='value']">
84+
<level><xsl:value-of select="." /></level>
85+
</xsl:for-each>
86+
<xsl:for-each select="doc:metadata/doc:element[@name='thesis']/doc:element[@name='level']/doc:element/doc:element/doc:field[@name='value']">
87+
<level><xsl:value-of select="." /></level>
88+
</xsl:for-each>
89+
<xsl:for-each select="doc:metadata/doc:element[@name='thesis']/doc:element[@name='discipline']/doc:element/doc:field[@name='value']">
90+
<discipline><xsl:value-of select="." /></discipline>
91+
</xsl:for-each>
92+
<xsl:for-each select="doc:metadata/doc:element[@name='thesis']/doc:element[@name='discipline']/doc:element/doc:element/doc:field[@name='value']">
93+
<discipline><xsl:value-of select="." /></discipline>
94+
</xsl:for-each>
95+
<xsl:for-each select="doc:metadata/doc:element[@name='thesis']/doc:element[@name='grantor']/doc:element/doc:field[@name='value']">
96+
<grantor><xsl:value-of select="." /></grantor>
97+
</xsl:for-each>
98+
<xsl:for-each select="doc:metadata/doc:element[@name='thesis']/doc:element[@name='grantor']/doc:element/doc:element/doc:field[@name='value']">
99+
<grantor><xsl:value-of select="." /></grantor>
100+
</xsl:for-each>
101+
</degree>
102+
</xsl:if>
103+
</thesis>
104+
</xsl:template>
105+
</xsl:stylesheet>

0 commit comments

Comments
 (0)