Print

Print


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
>