marc and xml elag 17-19 april 2002, rome mette båstrup [email protected]
TRANSCRIPT
MARC and XMLELAG 17-19 April 2002, Rome
Mette Båstrup [email protected]
ELAG 2002 Mette Båstrup-Larsen, Portia 2
Overview
IntroductionWhat has been done and what to achieveXML Schema specificationsGaining consensus
ELAG 2002 Mette Båstrup-Larsen, Portia 3
Why XML for MARC?
Widespread standard technologies http://www.w3c.org
XML (data structure)XSD schemas for specification replacing DTD and XDR schemasXSL (presentation and customised validation)
Standard tools available (IBM, Microsoft, XML Spy)
ELAG 2002 Mette Båstrup-Larsen, Portia 4
What has been done in this area?Library of Congress MARC DTD
ftp://ftp.loc.gov/pub/xmldtd/mrcbfile.dtd
Open Archive Initiative (OAI) MARC XML http://www.openarchives.org/OAI/oai_marc.xsd
VisualCat XDR and XSD schemas
ELAG 2002 Mette Båstrup-Larsen, Portia 5
Related technologies
Dublin Core RDF XML http://dublincore.org/documents/2001/11/28/dcmes-xml/ http://www.portia.dk/pubs/RDF/DcRdfBasic20020321a.xsd
MODS from Library of Congress http://www.loc.gov/standards/mods/
ELAG 2002 Mette Båstrup-Larsen, Portia 6
MARC validation rules
Syntax rulesFormat rules e.g. 5 digit subfieldList of valid codesISBN validation
Context dependent rulesIf subfield a is 10 then subfield b is 20
Sequences of subfields in a field e.g. a e a e a e b k l
ELAG 2002 Mette Båstrup-Larsen, Portia 7
Problems when going to XML
MARC records are not self identifyingTag names (characters not allowed as an XML element name) Character sets No formal specification of MARC recordsUser specified fields in the headerNon valid MARC records
ELAG 2002 Mette Båstrup-Larsen, Portia 8
Goals for XML Schemas
Self identifying MARC recordsSpecifying rules:
General MARC 2709 rulesRules for the different MARC flavoursRules for a specific application
Use built-in schema validationExtend schemas with application specific information
ELAG 2002 Mette Båstrup-Larsen, Portia 9
The general MARC Schema
Specifications at: http://www.portia.dk/pubs/VisualCat/Specs/MarcXml/MarcTemplate2.xsd Specifying general information:
MARC record incl. MARC headerMARC fieldMARC subfield
No specification of specific fields e.g. Field 001, Field 002 etc.
ELAG 2002 Mette Båstrup-Larsen, Portia 10
General MARC schema excerpt<xs:complexType name="marcType" abstract="true">
<xs:sequence><xs:element name="MarcLeader"
type="mc:marcleaderType"/></xs:sequence>
</xs:complexType><xs:complexType name="varfieldType" abstract="true">
<xs:attribute name="i1" type="xs:string" use="optional"/><xs:attribute name="i2" type="xs:string" use="optional"/>
</xs:complexType>
ELAG 2002 Mette Båstrup-Larsen, Portia 11
The specific MARC flavour schema
Specification at: http://www.portia.dk/pubs/VisualCat/Specs/MarcXml/danMarc2Template2.xsd Specifying record for a given MARC flavour i.e MARC21, UNIMARC etc.Specifying validation rulesRedefining the schema for a given situation e.g. cataloguing music
ELAG 2002 Mette Båstrup-Larsen, Portia 12
Specific MARC flavour schema excerpt I<xs:element name="Field-100">
<xs:annotation><xs:documentation><DisplayName
xml:lang="da">Personnavn</DisplayName> <ElementDesc Location="http://www..." MarcTag="100"/></xs:documentation></xs:annotation><xs:complexType><xs:complexContent>
<xs:extension base="mc:varfieldType"><xs:sequence>
<xs:element ref="dm2:Subfield-100-a" minOccurs="0" maxOccurs="1"/>
ELAG 2002 Mette Båstrup-Larsen, Portia 13
Specific MARC flavour schema excerpt II<xs:extension base="mc:marcType">
<xs:sequence><xs:element ref="dm2:Field-100"/><xs:element ref="dm2:Field-245"/>
</xs:sequence><xs:attribute name="MarcRecordSyntax" use="required">
<xs:simpleType><xs:restriction
base="mc:marcrecordsyntaxType"><xs:enumeration value="DANMARC"/>
</xs:restriction></xs:simpleType>
ELAG 2002 Mette Båstrup-Larsen, Portia 14
What has been gained?
Platform independent specification of MARC formatCan be used directly in an application with freely available standard toolsCan be read and maintained by non techniciansTo be determined: Schema for exchange of MARC records based on OAI MARC/XML