# /research/projects/schematrans/seel/tutorial/default.htm

originally: http://www.oclc.org/research/projects/schematrans/seel/tutorial/default.htm

# Seel Tutorial

## Introduction

Seel is a scripting language dedicated to the task of translating between metadata formats and similar markup languages. When done carelessly, the most important parts of the translation, the equivalences, get lost in a mass of details about syntax. Seel addresses this problem by keeping the equivalences front and center.

We have written elsewhere about the motivations for Seel. So we won't repeat ourselves here, since our purpose is to get right to the point of reading and writing fluent Seel code. We'll show lots of examples of the coding idiom, starting in the next section with a complete Seel script.

Subsequent sections will drill down into discussions of contexts for executing translations; the path language for locating the relevant part of a source and constructing the target; and the illustrations for working with the data in a record, whose data can be referenced and manipulated. Along with a glossary and document type definitions (DTDs) for Seel and the input language Morfrom, this document constitutes the programmer's manual for Seel. But before leaving the tutorial, we will also sketch the big picture and discuss ideas for future development.

Since Seel was developed in the context of genuine metadata translation problems at OCLC, all of the examples we discuss here have been tested on real data. As might be expected, much of our effort involves mapping to and from MARC. But Seel and its software context have no hardwired assumptions about MARC or any other standards. Seel's generic design is illustrated with examples from Dublin Core; GEM and LOM, popular standards in the e-learning community; as well as ONIX, the most widely used standard in the publishing industry. Our translation from unqualified Dublin Core to MARC is original work that has been used in production processes at OCLC. And our translation from ONIX to MARC, which constitutes the bulk of our examples, is a miniature research project in progress. We'll have more to say about this important subject in future articles and presentations.

We're now ready to get serious about learning Seel.