Basic Concepts: Doctype, Collection, Schema

Before going into the details of database creation and storage and retrieval of XML objects, it is useful to take a look at the three basic concepts used in Tamino: doctype, collection and schema.

Doctype

Generally, a doctype is a root element of a DTD (Document Type Definition), i.e. the outermost element in the document that the DTD applies to. It typically denotes the document's starting and ending point. In Tamino, a doctype represents a container for XML instances with the same root element within a collection.

Collection

The concept of collections is Tamino-specific. In Tamino, a collection is the largest unit of information within a database. Each collection can contain multiple doctypes. It is a container for related information and needs to be defined when defining a Tamino schema.

Schema

A Tamino schema complies with a subset of the W3C XML schema standard, with Tamino-specific information defined in annotations. Within a schema, we distinguish between a physical schema and a logical schema.

The logical schema consists of rules describing the relationship between and properties of elements and attributes in valid XML documents.

The physical schema describes how XML documents are physically stored and indexed; changes to the physical schema will not influence the semantics and syntax of Tamino operations.

The following graphic gives an overview over the relationship between basic Tamino concepts:

graphics/terms.png

Basically, the steps that you perform when working with Tamino are:

  1. Create a Tamino database and start it.

  2. Load objects into the database. This step may require defining a collection and a schema. If you already have a DTD (or XML Schema) for your XML objects to be loaded, it can be used for schema definition.

  3. Retrieve your loaded objects by querying the database.

  4. Write applications.

In the following, the first three steps will be described in more detail. Information about step four goes beyond the scope of this document. See the documentation about the Tamino APIs and the Advanced Concepts for further information.