Zie ook: DRIVER Use of OAI-PMH
Inhoud van deze pagina
De afspraak
De afspraak over het gebruik van de OAI-PMH standaard zoals deze binnen LOREnet gemaakt is gebaseerd op versie 2 van OAI-PMH en behelst de volgende 5 zaken;
- we volgen de OAI-PMH versie 2.0 standaard.
- het beschikbaar stellen van een base-urlvoor de repository
- het beschikbaar stellen van LOM metadata naast de OAI-PMH voorgeschreven Dublin Core metadata met als prefix OAI-LOM
- het bekend maken van een beheerder, welke als eerste aanspreekpunt dient voor het harvesting proces.
- het beschikbaar stellen van een logo van de repository/instelling voor identificatie van de bij de instelling gevonden leermiddelen.
Voor de overige technische implementatie verwijzen we naar de originele OAI-PMH documentatie die in dit document vanaf hoofdstuk 2 is opgenomen.
De technische invulling van OAI-PMH in LOREnet
Header
Een geldig XML document moet - in het kader van OAI-PMH - altijd beginnen met:
<?xml version="1.0" encoding="utf-8" ?>
De eerste '<' moet het allereerste eerste teken zijn. De encoding moet utf-8 (8 bits Unicode Transfer Encoding) zijn volgens de OAI-PMH specificatie.
OAI-PMH
Het IEEE LOM record bevindt zich in een OAI-PMH response:
<OAI-PMH xmlns="http://www.openarchives.org/OAI/2.0/">
De versie van OAI-PMH is 2.0. De OAI response en record headers worden hier niet verder besproken
Root tag
Onder het OAI metadata tag komt het LOM record. De root tag hiervan wordt als volgt gedeclareerd:
<lom xmlns="http://ltsc.ieee.org/xsd/LOM]">
Voorbeeld
Tot nu toe hebben we:
<?xml version="1.0" encoding="utf-8" ?>* <OAI-PMH xmlns="http://www.openarchives.org/OAI/2.0/"> ... <metadata> <lom xmlns="http://ltsc.ieee.org/xsd/LOM"> </lom> </metadata> ... </OAI-PMH>
Namespace declaraties
De XML Namespace specificatie staat drie manieren van het toepassen van namespaces toe. In het algemeen kan de namespace het beste gedeclareerd worden in de start-tag van het element waarin de prefix gebruikt wordt. Dus nèt nadat de namespace voor het eerst gebruikt wordt, zoals in:
<?xml version="1.0" encoding="utf-8" ?> <oai:OAI-PMH xmlns:oai="http://www.openarchives.org/OAI/2.0/"> ... <oai:metadata> <lom:lom xmlns:lom="http://ltsc.ieee.org/xsd/LOM"> ... </lom:lom> </oai:metadata> ... </oai:OAI-PMH>
Hiermee voorkom je de operational difficulties waarvan in de XML Namspace specificatie sprake is (http://www.w3.org/TR/REC-xml-names/#ns-using). Mede om deze reden is ook in de OAI-PMH specificatie opgenomen: "...every metadata part must include one or more xmlns prefixed attributes that define the correspondence between a metadata format prefix -- e.g. dc -- and the namespace URI ... of the respective metadata format."
Dit geldt voor alle namespace in dit document, uitgezonderd de default namespace OAI-PMH.
Voor de leesbaarheid is ook voor elk LOM record een default namespace in gebruik zodat niet elke tag voorafgegaand hoeft te worden door een prefix. Dus in plaats van:
<lom:general>
schrijven we:
<general>
Het is aan te bevelen dit ook bij automatische verwerking zoveel mogelijkdefault namespaceste gebruiken om de belasting op de repository en overige verwerkende componenten te verminderen.
Bij automatische generatie van XML is het verstandig er op te letten dat de generator niet voor elke tag opnieuw de namespace declaratie invoegt zoals in:
<lom:lom xmlns:lom="http://name.space"> <lom:general xmlns:lom="http://name.space">
Of in plaats van een default namespace te declareren het volgende doet:
<lom:lom: xmlns:lom=""> <lom:general: xmlns:lom="">
Of zelfs de namespace steeds opnieuw genereert zoals in:
<ns1:lom xmlns:ns1="http://name.space"> <ns2:general xmlns:ns2="http://name.space">
Genoemde voorbeelden zijn praktijk voorbeelden. Bij gebruik van het hier als laatste getoonde format zal de belasting op elk onderdeel van de keten zoveel doen toenemen dat er foutmeldingen zullen optreden.