This version (2014/04/14 11:52) is a draft.
Approvals: 0/1

Metadata sets

All metadata fields in Greenstone belong to a metadata set, which is simply a pre-defined collection of metadata fields. Because sets will often have metadata fields with the same name (for instance, most sets will have a 'Title' field), namespaces are used to distinguish between metadata from different sets. For instance, all metadata fields in Dublin Core are preceded by dc. (dc.Title, dc.Creator, etc.).

The default metadata sets for new collections are Dublin Core (dc), the Greenstone Metadata Sset (gs), and the Extracted Greenstone Metadata Set (ex). The Extracted set is unique because it contains metadata automatically generated during the collection building process (and as such cannot be edited). Metadata values in this set cannot be modified (as it is extracted from the documents themselves), and metadata fields in the extracted set can be referred to without a namespace (so referencing Title is the same as referencing ex.Title).

The following metadata sets come with Greenstone:

Available Metadata SetsNamespaceDescription
Australian Government Locator Service Metadata Element Set, Version 1.3agls
Development Library Subset Example MetadatadlsA metadata set file for use in The Gatherer, created from original metadata found within the Development Library Subset.
DspacedsDSpace inspired metadata set covering values not found in Dublin Core
Dublin Core Metadata Element Set, Version 1.1:Reference DescriptiondcThis document is the reference description, version 1.1 of the Dublin Core Metadata Element Set. This document supersedes the Dublin Core Metadata Element Set, version 1.0. See the Dublin Core Home Page (http://dublincore.org) for further information about the workshops, reports, working group papers, projects, and new developments concerning the Dublin Core Metadata Element set
Extracted Greenstone Metadata 1.1exThis document is the reference description, version 1.1 of the automatically extracted Greenstone Metadata Element Set. Most of the possible extracted metadata elements have been added.
Exploded Metadata SetexpAn empty metadata set that is a good place to put metadata exploded from a metadata database (eg. CDS/ISIS).
Greenstone metadata setgsSome special elements particular to Greenstone.
New Zealand Government Locator Service Metadata Standard version 2.1nzglsThe NZGLS metadata standard is the official New Zealand Government standard for creating discovery-level metadata (see Cabinet Circular CO (02) 3). The standard is based closely on two well established standards: the Dublin Core Metadata Element Set and the Australian Government Locator Service.
Qualified Dublin Core Metadata Element Set, Version 1.1.: Reference DescriptiondcThis document is the reference description, version 1.1 of the Dublin Core Metadata Element Set. This document supersedes the Dublin Core Metadata Element Set, version 1.0. See the Dublin Core Home Page (http://dublincore.org) for further information about the workshops, reports, working group papers, projects, and new developments concerning the Dublin Core Metadata Element set.
RFC 1807 Metadata Element Set, Version TR-v2.1rfc1807This document is the reference description for Internet Engineering Task Force (IETF) Request for Comments (RFC) 1807 metadata standard for bibliographic records, expressed as a metadata set for Greenstone.

If these sets are insufficient for your needs, you can create your own sets either using GEMS or by directly creating an XML file in Greenstone's metadata sets format (mds).

Greenstone Editor for Metadata Sets (GEMS)

GEMS (Greenstone Editor for Metadata Sets) can be used to modify existing metadata sets or create new ones. GEMS can launched from the GLI (in the Enrich panel click Manage Metadata Sets…Add…New…) or can be launched directly from Start → All Programs → Greenstone → GEMS.

In GEMS, select FileNew…. (If opened through GLI, the popup window will appear automatically.) An initial popup window prompts you for the set name, namespace and description. You can also choose to base the new set on an existing one, in which case it will inherit all the elements from the specified set. Click OK. The main window shows the elements of metadata set on the left hand side, and some attributes for the set on the right hand side. If you have based the set on an existing one, one or more elements will be displayed. Clicking one displays attributes of the element in the right hand side.

To add a new element, right click on the name of the set and choose "Add Element". To add a new subelement, right click on the element and choose "Add Subelement". Elements and subelements can be deleted by choosing "Delete (Sub)element" from the right click menu. Subelements are denoted like this: element^subelement. For example, if the element "Author" has a subelement "First Name", the "First Name" subelement will be be named Author^First Name. You can have multiple levels of subelements.

You can also run the Greenstone Editor for Metadata Sets by running gems.sh or gems.bat (for Windows) in the gli folder of your Greenstone installation.

Greenstone metadata sets format (mds)

Metadata sets in Greenstone are stored in XML files which are located in Greenstone → gli → metadata. You can edit these files directly, as well as add your own files.

This is a basic metadata set in mds format:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE MetadataSet SYSTEM "http://www.greenstone.org/dtd/MetadataSet/1.0/MetadataSet.dtd">
<MetadataSet contact="nzdl.org" creator="New Zealand Digital Libraries Project: Greenstone" family="Development Library Subset" lastchanged="Tue Sep 05 14:40:36 NZST 2006 - kjdon on kanuka" namespace="dls">
    <Name language="en">Development Library Subset Example Metadata</Name>
    <Description language="en">A metadata set file for use in The Gatherer, created from original metadata found within the Development Library Subset.</Description>
    <Element name="Title">
        <Attribute language="en" name="comment"/>
        <Attribute language="en" name="definition">The title of this resource.</Attribute>
        <Attribute language="en" name="label">Title</Attribute>
        <Attribute name="version">1.0</Attribute>
    </Element>
    <Element name="Organization">
        <Attribute language="en" name="comment"/>
        <Attribute language="en" name="definition">The organization responsible for producing this resource.</Attribute>
        <Attribute language="en" name="label">Organization</Attribute>
        <Attribute name="version">1.0</Attribute>
    </Element>
    <Element name="Subject">
        <Attribute language="en" name="comment">Currently uses a hierarchy.</Attribute>
        <Attribute language="en" name="definition">The subject of this resource.</Attribute>
        <Attribute language="en" name="label">Subject And Keywords</Attribute>
        <Attribute name="version">1.0</Attribute>
    </Element>
    <Element name="Keyword">
        <Attribute language="en" name="comment">Informal.</Attribute>
        <Attribute language="en" name="definition">A more specific indication of what the resource can be used for.</Attribute>
        <Attribute language="en" name="label">Keyword</Attribute>
        <Attribute name="version">1.0</Attribute>
    </Element>
    <Element name="Language">
        <Attribute language="en" name="comment"/>
        <Attribute language="en" name="definition">The language of this resource.</Attribute>
        <Attribute language="en" name="label">Language</Attribute>
        <Attribute name="version">1.0</Attribute>
    </Element>
</MetadataSet>


However, you can also include multiple languages, if necessary:

<MetadataSet contact="dcmi-feedback@dublincore.org" creator="Dublin Core Metadata Initiative" family="Dublin Core" language_dependent="label, definition, comment" lastchanged="Tue Sep 05 14:40:36 NZST 2006 - kjdon on kanuka" namespace="dc">
    <!-- English Version sourced from http://www.dublincore.org/documents/dces/ -->
    <SetLanguage code="en">
        <Name language="en">Dublin Core Metadata Element Set, Version 1.1: Reference Description</Name>
        <Description language="en">This document is the reference description, version 1.1 of the Dublin Core Metadata Element Set. This document supersedes the Dublin Core Metadata Element Set, version 1.0. See the Dublin Core Home Page (http://dublincore.org) for further information about the workshops, reports, working group papers, projects, and new developments concerning the Dublin Core Metadata Element set</Description>
    </SetLanguage>
    <!-- Maori Version sourced from http://www.tki.org.nz/r/maori/pedagogy/dc_elements_m.php -->
    <SetLanguage code="mi">
        <Name>Dublin Core Huanga - Maori (He Tauira)</Name>
    </SetLanguage>
...
    <Element name="Title">
        <!-- English -->
        <Language code="en">
            <Attribute name="label">Title</Attribute>
            <Attribute name="definition">A name given to the resource.</Attribute>
            <Attribute name="comment">Typically, a Title will be a name by which the resource is formally known.</Attribute>
        </Language>
        <!-- Maori -->
        <Language code="mi">
            <Attribute name="label">Taitara</Attribute>
            <Attribute name="definition">Te ingoa ka tapaina tetahi rauemi.</Attribute>
            <Attribute name="comment">Ko te tikanga, ko te Taitara te ingoa ka mohio whanuitia te ingoa.</Attribute>
        </Language>
        <!-- Non-language specific -->
        <Attribute name="version">1.1</Attribute>
        <Attribute language="en" name="registration_authority">Dublin Core Metadata Initiative</Attribute>
        <Attribute name="obligation">Optional</Attribute>
        <Attribute name="datatype">Character String</Attribute>
        <Attribute name="maximum_occurrence">Unlimited</Attribute>
    </Element>
    ...
</MetadataSet>


In addition, if you would like to create sub-elements, you can nest elements inside of other elements:

    <Element name="objectWorkTypeWrap">
        <Language code="en">
            <Attribute name="label">objectWorkTypeWrap</Attribute>
            <Attribute name="definition">A wrapper for Object/Work Type</Attribute>
            <Attribute name="comment"/>
        </Language>
        <Element name="objectWorkType">
            <Language code="en">
                <Attribute name="label">objectWorkType</Attribute>
                <Attribute name="definition">A term or terms identifying the specific kind of object or work being described. For a collection, include repeating instances for terms identifying all of or the most important items in the collection.</Attribute>
                <Attribute name="comment"/>
            </Language>
        </Element>
    </Element>

Transforming an XSD file into MDS

If you have the XSD file for a particular metadata set, it should be possible to transform it into MDS format using XSLT. An example XSLT file transforming the CDWALite XSD into MDS format can be found here here. Additional information can be found here.