Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

----   THIS PAGE IS IN DRAFT ----

Duke University - Trident Project

...

Let's say for the sake of a simple example, that we are using Dublin Core, and we want to map a dc:title element.

Panel

<dc:title type='main'>The main title</dc:title>

In our Metadata Form, this would map to:

Panel

<field name='title'>
  <element name='type'>main</element>
  <element name='title'>The main title</element>
</field>

We further defined field groups within our Metadata Form to handle repeatable fields.  So adding on to the previous example, let's say we add an alternate title: {{{

Panel

<dc:title type='main'>The main title</dc:title>
<dc:title type='alternate'>An alternate title</dc:title>

}}}
Using the same Metadata Form mapping: {{{

Panel

<field_group name='title'>
  <field>
    <element name='type'>main</element>
    <element name='title'>The main title</element>
  </field>
  <field>
    <element name='type'>alternate</element>
    <element name='title'>An alternate title</element>
  </field>
</field_group>

}}}
As we will see later in this discussion, we may want to treat main and alternate titles separately.  It may be the case that the main title is required and not repeatable, while the alternate title is optional and repeatable.  So, this example might be modified to produce a slightly different Metadata Form: {{{

Panel

<field_group name='main_title'>
  <field>
    <element name='title'>The main title</element>
  </field>
</field_group>
<field_group name='alternate_title'>
  <field>
    <element name='title'>An alternate title</element>
  </field>
  <field>
    <element name='title'>Another alternate title</element>
  </field>
</field_group>

...

Also we don't want to create static HTML forms.  It would be short-sighted to think that our metadata schema will never change, or that we will always have just one descriptive metadata schema within our repository.  Or, if someone from another university has an interest in using our editor tool, we don't want it tied to our specific metadata schema.  So, we want the HTML forms to be dynamic, meaning we want them to be generated on the fly based on the metadata coming from the repository as well as some instruction from the repository on how the metadata