Lets start with our first requirement of a formal structure of metadata tags that are necessary for a crosswalk mapping of metadata elements from one metadata 'standard' to another.
Crosswalks are commonly used to translate metadata between formal 'standards', such as Dublin Core and MARC (MAchine Readable Cataloging).
These 'standards', like Dublin Core, are really structured languages complete with a formal set of metadata tags.
| 100 | a | Shakespeare, William d 1564-1616 | <dc:creator>Shakespeare, William, 1564-1616</> |
| 245 | a | Hamlet | <dc:title>Hamlet</> |
| 260 | a | New York: b Penguin Books, c 2003 | <dc:publisher>Penguin Books</> |
| <dc:date>2003</> | |||
Here it is easy to recognize a correspondence between the MARC 100 author field and <dc:creator> between MARC 245a and <dc:title>, and so on. These markup tags are the same for every MARC or DC record used in a library. A crosswalk is a table of these correspondances that can easily be used to translate from MARC to DC, or vice versa.
The challenge when we are trying to map proprietary metadata is that we have no 'standard' tags to easily align. We need a method of putting proprietary metadata into a formal structure. This formal structure must be shared between both proprietary schemas.