Matt said: "I guess it is the "doc:element/doc:element/doc:field" thing that is mostly what it throwing me."
More DSpacey people than I can probably comment more knowledgeably on this, but this seems like less of an OAI-PMH thing than a DSpace thing. It looks like maybe DSpace stores metadata internally in a generic metadata/element/field structure like Bridger showed (with doc namespace):
<doc:metadata>
<doc:element name="example"> <!-- ignored! -->
<doc:element name="dc">
<doc:element name="blahBlahBlah"> <!-- ignored! -->
<doc:element name="type">
<doc:element>
<doc:element>
<doc:field name="value"> <!-- get the value of this element -->
...and the select is pulling the information it needs for the <dc:type /> element in the OAI-PMH output out of the internal DSpace structure.
Katie
-----Original Message-----
From: Code for Libraries [mailto:[log in to unmask]] On Behalf Of Bridger Dyson-Smith
Sent: Friday, July 11, 2014 10:56 AM
To: [log in to unmask]
Subject: Re: [CODE4LIB] OAI Crosswalk XSLT
Hi Matt,
Michael Kays' XSLT 2.0 and XPath 2.0 is a great reference and is available as an eBook. Mulberry Technologies has some quick reference guides [1] that might be helpful.
Cheers,
Bridger
<doc:metadata>
<doc:element name="example"> <!-- ignored! -->
<doc:element name="dc">
<doc:element name="blahBlahBlah"> <!-- ignored! -->
<doc:element name="type">
<doc:element>
<doc:element>
<doc:field name="value"> <!-- get the value of this element -->
[1] http://www.mulberrytech.com/quickref/
On Fri, Jul 11, 2014 at 10:38 AM, Matthew Sherman <[log in to unmask]>
wrote:
> Hi Code4Lib folks,
>
> I have a question for those of you who have worked with OAI-PMH. I am
> currently editing our DSpace OAI crosswalk to include a few custom
> metadata field that exist in our repository for publication
> information and port them into a more standard format. The problem I
> am running into is the select statements they use are not the typical
> XPath statements I am used to. For example:
>
> <xsl:for-each
>
> select="doc:metadata/doc:element[@name='dc']/doc:element[@name='type']
> /doc:element/doc:element/doc:field[@name='value']">
> <dc:type><xsl:value-of select="." /></dc:type> </xsl:for-each>
>
> I know what the "." does, but the other select statement is a bit
> foreign to me. So my question is, does anyone know of some reference
> material that can help me make sense of this select? I need to
> understand what it is doing so I can make my own. Thanks for any insight you can provide.
>
> Matt Sherman
>
|