Conceptos básicos de esquemas XML para OAI-PMH | Arriba |
OAI-PMH utiliza esquemas XML para definir formatos de registro. Se puede intercambiar cualesquiera metadatos que se quiera utilizando OAI-PMH, siempre y cuando se pueda codificar como XML y definir un esquema XML para los mismos. OAI-PMH exige el esquema oai_dc como una norma mínima para la interoperabilidad.
La documentación del OAI-PMH describe también el uso de esquemas XML para otros formatos, y proporciona esquemas XML para:
Observación más detallada de oai_dc, el esquema XML exigido por OAI-PMH | Arriba |
oai_dc es el esquema de metadatos simple (basado en Dublin Core sin cualificar) empleado como el "mínimo común denominador" en cuanto a formato de registro de metadatos en OAI-PMH. Define un esquema contenedor específico de OAI, y se encuentra en el sitio Web de OAI. Importa un esquema DCMES genérico. El esquema genérico DCMES se encuentra en el sitio web del DCMI (Dublín Core Metadata Initiative).
El mismo modelo podría utilizarse para un esquema Dublin Core cualificado; es decir, un esquema contenedor alojado por la OAI haciendo referencia al esquema genérico alojado por DCMI.
oai_dc un ejemplo de registro
Este es un ejemplo de registro oai_dc, como se ve a través de Repository Explorer, mostrando el principio de una respuesta a un GetRecord.
<?xml version="1.0" encoding="UTF-8"?>
<OAI-PH xmlns="http://www.openarchives.org/OAI/2.0/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/
http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd">
<responseDate>2003-03-15T16:16:51+01:00</responseDate>
<request verb="GetRecord" metadataPrefix="oai_dc"
identifier="oai:HUBerlin.de:3000476">http://edoc.hu-berlin.de/OAI-2.0</request>
<GetRecord>
<record>
<header>
<identifier>oai:HUBerlin.de:3000476</identifier>
<datestamp>1997-07-18</datestamp>
<setSpec>pub-type</setSpec>
</header>
<metadata>
<oai_dc:dc
xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/
http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
<dc:title>Melanchthon in seiner Zeit. In: Philipp Melanchthon
1497-1997</dc:title>
<dc:creator>Selge, Kurt-Victor</dc:creator>
...
Tres cosas importantes que observar:
El espacio de nombre del formato oai_dc:
xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/"
El espacio de nombres de los elementos DCMES:
xmlns:dc="http://purl.org/dc/elements/1.1/"
El esquema contenedor asociado con el espacio de nombres de oai_dc:
xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/
http://www.openarchives.org/OAI/2.0/oai_dc.xsd"
Por lo tanto, el esquema contenedor de oai_dc para el espacio de nombres http://www.openarchives.org/OAI/2.0/oai_dc/ importa el esquema DCMES desde http://dublincore.org/schemas/xmls/simpledc20021212.xsd. También se define un elemento contenedor llamado 'dc' que enumera los elementos en el contenedor 'dc' (del espacio de nombres / esquema DCMES) que están permitidos en oai_dc.
Otros esquemas de metadatos que pueden emplearse | Arriba |
oai_dc es un formato simple que proporciona una interoperabilidad mínima. Hay una serie de razones por las puede no ser adecuado compartir exclusivamente oai_dc para su repositorio, servicio o comunidad.
Añadiendo nuevos elementos cuando oai_dc no es suficiente | Arriba |
La elaboración de un nuevo esquema extendiendo el esquema oai_dc con nuevos elementos implica las siguientes tareas:
A continuación, usaremos una situación sencilla para demostrar estas ocho tareas paso a paso. Suponga que tenemos un repositorio de prueba que contiene algunas fotos: :
http://www.ukoln.ac.uk/metadata/oa-forum/workshop-photos/oai/nph-oai2.cgi
Actualmente el repositorio tiene metadatos usando oai_dc. Queremos añadir un elemento "Equipo utilizado", ya que este no es parte de DCMES.
El nuevo formato de metadatos necesita un nombre. En este caso, escogeremos el nombre "wp_dc" - siguiendo la forma de OAI "oai_dc" como una convención. (El código de dos letras 'wp' es la abreviatura de 'workshop photos'.) Sin embargo, el nombre podría ser el que quiera. Otras alternativas serían, por ejemplo, wpdc o WP
Necesitamos dos espacios de nombres:
Los espacios de nombres se declaran como URIs. Usaremos:
Tenga en cuenta que el uso de PURL para los elementos del espacio de nombres se deduce de la utilización de DCMI, pero no es obligatoria. Sin embargo, estos dos URIs de espacios de nombres deben estar bajo su control para garantizar la singularidad y evitar la reutilización en el futuro. Los URIs de los espacios de nombre no necesitan resolver nada.
A continuación, debemos crear un esquema XML para el nuevo término. Lo haremos en:
http://www.ukoln.ac.uk/metadata/oa-forum/workshop-photos/wp_dc/20030818/wpterms.xsd
Observe la fecha incluida en la estructura del directorio. Esto facilita la mejora del esquema sin interrumpir las cosas que utilizan la versión antigua.
El esquema del nuevo término define el nuevo elemento "equipmentUsed" y lo añade al grupo dc:any. Además define un nuevo tipo de contenedor "wpterms:elementContainer".
Debemos también crear un esquema contenedor para el formato de registros wp_dc. En este caso el esquema está disponible en:
http://www.ukoln.ac.uk/metadata/oa-forum/workshop-photos/wp_dc/20030818/wp_dc.xsd
(Observe de nuevo la utilización de la fecha incorporada en la estructura del directorio.) Este simplemente importa el esquema wpterms y después define un elemento contenedor 'wp_dc' del typo wpterms:elementContainer.
A fin de validar los registros usando nuestro nuevo esquema, a continuación creamos algunos registros de prueba (o modificamos los existentes), incluyendo todos los elementos que queremos utilizar. Para facilitar la gestión de nuestro proceso de validación, los ponemos en un directorio con fecha y usamos unos nombres de archivo significativos, como
http://www.ukoln.ac.uk/metadata/oa-forum/workshop-photos/oai/wp_dc/20030818/test.xml
Ahora podemos validar los registros y el esquema con el validador de esquemas XML disponible en
http://www.w3.org/2001/03/webdata/xsv/
El verbo OAI-PMH ListMetadataFormats necesita el conocimiento de las existencia del nuevo formato. Por lo tanto, necesitamos modificar nuestro software de repositorio (el código fuente y/o archivos de configuración) para dar soporte al nuevo formato de metadatos. Lo hacemos añadiendo información sobre el nuevo formato a la respuesta de nuestro repositorio a la petición 'ListMetadataFormats' . Por ejemplo:
...
<metadataFormat>
<metadataPrefix>wp_dc</metadataPrefix>
<schema>http://www.ukoln.ac.uk/metadata/oa-forum/workshop-photos/wp_dc/20030818/wp_dc.xsd</schema>
<metadataNamespace>http://www.ukoln.ac.uk/metadata/oa-forum/workshop-photos/wp_dc/</metadataNamespace>
</metadataFormat>
...
También necesitamos asegurarnos que el formato "wp_dc" está disponible al usar los verbos:
Para ello, debemos modificar la respuesta de nuestro repositorio a esos verbos. Debe establecerse el nuevo nombre de formato "wp_dc" como "MetadataPrefix" aceptado . Las respuesta a las peticiones devolverán entonces los registros apropiados formateados de acuerdo al nuevo esquema cuando así es solicitado por a Proveedor de Servicios.
Por último, usamos el Repository Explorer para probar el nuevo formato. Para ello, introduzca la siguiente dirección como baseURL
http://www.ukoln.ac.uk/metadata/oa-forum/workshop-photos/oai/nph-oai2.cgi
Debemos asegurarnos que:
Una vez que se cumplen todas estas condiciones, ¡tenemos un nuevo formato!
Cuando se quiere usar otro formato de metadatos | Arriba |
Podemos adoptar un enfoque similar con otros formatos de registro de metadatos. En el caso de IMS / IEEE LOM y ODRL, los esquemas XML y los espacios de nombres ya están establecidos. El despliegue de estos formatos debería ser más sencillo pues se necesita definir sus esquemas. Sin embargo, las especificaciones técnicas de los esquemas XML están sometidos continuamente a revisión en el momento de redactar este tutorial, a veces es difícil para aplicaciones como IMS, mantenerse al día de los cambios.
Implementando un formato existente | Arriba |
Para implementar un formato de metadatos ya existente, modifique la respuesta de ListMetadataFormats para incluir el formato al que quiere dar soporte. Por ejemplo para IMS::
...
<metadataFormat>
<metadataPrefix>ims</metadataPrefix>
<schema>http://www.imsglobal.org/xsd/imsmd_v1p2p2.xsd</schema>
<metadataNamespace>http://www.imsglobal.org/xsd/imsmd_v1p2</metadataNamespace>
</metadataFormat>
...
Extienda los otros verbos (peticiones ListSets, ListIdentifiers, ListRecords, y GetRecord) para que acepten el valor ims de metadataPrefix y para que devuelva los registros formateados apropiadamente.
Resumen | Arriba |
OAI-PMH permite cualquier formato de metadatos, siempre y cuando esté codificado en XML con un esquema XML. Todos los repositorios deben soportar oai_dc para un nivel mínimo de interoperabilidad. Si oai_dc no tiene suficientes elementos, puede extenderlo. Si oai_dc no es suficientemente preciso, puede utilizar un esquema en Dublin Core cualificado. Si oai_cd no es el esquema adecuado para su comunidad o propósito, entonces utilice otra cosa.
Siete definiciones importantes | Arriba |
PURL
PURL (Persistent Uniform Resource Locator) es un localizador persistente uniforme de recursos. Funcionalmente un PURL es un URL.
Sin embargo, en lugar de apuntar directamente a la ubicación de un recurso de Internet, un PURL apunta a un servicio intermedio de resolución. El servicio de resolución de PURL asocia el PURL con la URL real y devuelve esa URL al cliente. Entonces, el cliente puede completar la operación con esa URL en la forma habitual. En la jerga Web, esto es una redirección HTTP estándar.
(Definición de PURL
en http://purl.org)
URI
URI es el acrónimo de Universal Resource Identifier ( Identificador Uniforme de Recursos) . Los URIs son cadenas que identifican las cosas en la Web. De modo informal, en algunas ocasiones a las URIs se las denomina URLs (Uniform
Resource Locators), aunque URLs son más limitadas que las URIs. Las URIs se usan en un cierto número de esquemas, incluyendo los esquemas URI de HTTP y FTP.
Espacio de nombre XML
Un espacio de nombre XML es una colección de nombres, identificados por una referencia URI [RFC2396], que se utilizan en documentos XML como tipos de elementos y como nombres de atributo. Los espacio de nombre XML difieren del "espacio de nombres" utilizado convencionalmente en la disciplina informática en que la versión XML tiene estructura interna y no es, matemáticamente hablando, un conjunto.
(Definición de W3CNamespaces
in XML en http://www.w3.org/TR/REC-xml-names/)
Esquemas XML
Los esquemas XML expresan vocabularios compartidos y permite a las máquinas poner en práctica unas reglas hechas por personas. Proporcionan un medio para definir la estructura, contenido y semántica de los documentos XML.
(Definición de W3C
Architecture DomainXML schema en http://www.w3.org/XML/Schema)
Contenedor
Los contenedores son lugares en las respuestas OAI-PMH donde se puede proporcionar XML que se ajuste a cualquier esquema externo. Los contenedores satisface la necesidad de extensibilidad y de mejoras específicas para la comunidad. La OAI Implementation Guidelines enumera los contenedores opcionales existentes y proporciona enlaces a sus esquemas.
DCMI (Dublin Core Metadata Initiative)
Dublin Core Metadata Initiative es un foro abierto dedicado al desarrollo de estándares de metadatos interoperables en línea que dan soporte a una amplia gama de propósitos y modelos de negocio. Las actividades de DCMI incluye grupos de trabajo orientados hacia el consenso,
talleres globales, conferencias, normas de cooperación y esfuerzos a nivel educativo para promover una aceptación generalizada de los estándares de metadatos y de su uso.
(Definición de Dublin Core Metadata
Initiative en http://dublincore.org/)
DCMES (Dublin Core Metadata Element Set)
El conjunto de elemento de metadatos Dublin Core es una norma para la descripción de recursos de información en varias disciplinas. Aquí una fuente de información se define como "todo lo que tiene identidad". Esta es la definición utilizada en Internet RFC 2396, "Uniform Resource Identifiers (URI): Generic Syntax", de Tim Berners-Lee et al. No hay restricciones fundamentales respecto al tipo de recurso a los que los metadatos Dublin Core se pueden asignar.
(Definición de Dublin
Core Metadata InitiativeDublin Core Metadata Element Set, Version 1.1:
Reference Description at http://dublincore.org/documents/dces/)
Fuentes de información adicional | Arriba |
Dublin Core sitio oficial
http://dublincore.org/
DCMI term declarations represented in XML schema language
http://dublincore.org/schemas/xmls/Guidelines for implementing Dublin Core in XML
http://dublincore.org/documents/dc-xml-guidelines/
W3 Schools XML tutorials incluye, entre otros, los siguientes:
W3 Schools XML tutorial
http://www.w3schools.com/xml/W3 Schools XML Schema Tutorial
http://www.w3schools.com/schema/
OAI sitio oficial
http://www.openarchives.org/
OAI-PMH protocol specification
http://www.openarchives.org/OAI/openarchivesprotocol.htmlOAI general mailing list
http://www.openarchives.org/mailman/listinfo/OAI-general/OAI implementers mailing list
http://www.openarchives.org/mailman/listinfo/OAI-implementers/
Copyright © 2003 University of Bath. All rights reserved. Last modified: 14 Oct 2003 16:36
Authored in CALnet |
Traducción española de: Domingo Arroyo. Ministerio de Cultura, Dirección General de Libro Archivos y Bibliotecas. |