HyperRecordML - A Markup Language for MuseumRecords in RelaxNG
Overview
The HRecordML ...
When using the XXE editor ... a screenshot.
Features
The following are just a few of the features implemented:
-
RelaxNG
RelaxNG is a more human readable and understandable schema language than, say DTD or XMLSchema. It also solves some constraints found in XMLSchema while keeping all the advantages of strong data typing.
-
Customization
Very flexible and - we dare say - easy customization using local RNG files which selectively switch on/off the available and necessary modules. Additional modules can be put on the net or stored at a local LAN or file system.
-
Modularization
The different aspects of the item's schema ߞ administrative data, technical data, descriptions &c. along with word lists, thesauri, classification schemata ߞ are kept in separate modules, making modifications or customizations easier.
-
Time-Line View
A shell-like enclosure of all data relating to definite time or period allows, during retrieval, a time-line view of each or all records' history. This allows to see the full context of a finding site, an excavation, or a historical collection.
-
Data Typing
Utmost flexibility for custom inventary numbering schemes, special technical data &c. is provided by using XMLSchema's rich data typing features.
-
Namespace
An own namespace (
http://hyperrecord.net/HRecordML/) allows for easier incorporation in heterogenous data streams, especially when using publishing systems like Apache's Cocoon. -
Word lists, Thesauri, Classification Schemata
By making them available in separate modules, even the most extensive word lists, thesauri, classification schemata can be related to, allowing to bind the system logic wholly to the RelaxNG schema (and de-coupling it from the data input system).
-
Identification by URN
Identifying the single items by URNs (see here) provides an easy way to express relationships between records, e.g. part-of, similar-to, copy-of etc. The same URNs are used to express references between records and text documents.
-
Simple Creation/Editing
Creation and editing of documents is done with a RelaxNG enabled XML editor, online or offline, without the need for a separate data input system (all the logic resides in the schema definition)
Using the HRecordML Schema
The HRecordML can be used in three methods:
-
As a static download: the core file and the necessary modules are downloaded and linked as static files in your file system or the LAN's server.
-
As a live link: you link up to the core file and the necessary modules on the net.
-
As a combination of the two: you link to static file on your file system, provide some customizations, and get the rest via a link to the net.
Obviously, the second option absolves you from downloading and updating your files for every single update, and keeps your system clean. The third option lets you do your own customizations. The first option should therefore only be used if you are working offline for a longer period.
-
Static download:
Static files you can be downloaded from our server: the RNG base schema (
hrecord.rng
), a customized version for our Museum use (mcap.rng
), plus a CSS file (hrecord.css
) which provides a convenient GUI for use with the XXE editor. Our customized IDs can be found in theIDsubfolder. -
Live link:
When you want to use the live link option, be sure to include the following line in your XML file, or modify your XXE catalogue accordingly:
<?xxe-relaxng-schema name="-//hyperrecord//hrecordML V0.1//EN" location="http://hyperrecord.net/hrecord/muscap.rng" encoding="UTF-8" ?>The beginning of a file would therefore look like the following (including the stylesheet for XMLMind editor and the reference for the oXygen editor):
<?xml version="1.0" encoding="UTF-8"?>
<?xxe-relaxng-schema name="-//hyperrecord//hrecordML V0.1//EN" location="http://hyperrecord.net/hrecord/hrecord.rng" encoding="UTF-8" ?>
<?oxygen RNGSchema="http://hyperrecord.net/hrecord/hrecord.rng" type="xml"?>
<record xlink:href="urn:collectio:0001:scu:00250" xml:lang="ita" xmlns="http://hyperrecord.net/hrecord/" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:legacy="http://hyperrecord.net/hrecord/legacy/" xmlns:class="http://collectio.org/classifications/">
<iconography> ...For how to modify the XXE catalogue, please consult the XXE manual.
For convenience we've also provided an example file for download: use
Save Link As ...
from your menu, otherwise your browser will try to render it. -
Combination of static and live link:
Be sure to include a line like the following in your XML file, or modify your XXE catalogue accordingly:
<?xxe-relaxng-schema name="-//hyperrecord//hrecordML V0.1//EN" location="mycustomization.rng" encoding="UTF-8" ?>For how to do customizations, have a look at the RNG docs.