230 likes | 348 Views
US GPO AIP Independence Test. CS 496B – Senior Design Creating A Fedora Commons SIP. Find aip.xml. FDsys aip.xml. Find METS file in hard disk Search within xml files only Find tag <mets:mets …> Extract attribute OBJID Set it in Fedora METS HEADER
E N D
US GPOAIP Independence Test CS 496B – Senior Design Creating A Fedora Commons SIP
Find aip.xml FDsys aip.xml • Find METS file in hard disk • Search within xml files only • Find tag <mets:mets …> • Extract attribute OBJID • Set it in Fedora METS HEADER • Find tag <mets:div> within <mets:structMap> • Extract attribute LABEL with ID same as OBJID • Set it in Fedora METS HEADER
Fedora METS HEADER aipgroup.xml • Declare METS • <METS:mets></METS:mets> • Mets EXTension_VERSION • Value must be “1.1” • Unique LABEL • Taken from each aip.xml • Unique OBJID • Taken from each aip.xml • Follow pattern • xmlns: • METS, MODS, PREMIS • Known values • xsi:schemaLocation • METS, MODS, PREMIS • Known values
Extract METS structMap FDsys aip.xml • Find tag <mets:structMap> • Fedora METS tags • METS:amdSec • ID is OBJID • METS:techMD • ID is mets.xml • METS:mdWrap • MIMETYPE=“text/xml” • MDTYPE=“OTHER” • LABEL=“METS Record” • METS:xmlData • METS:mets • xlmns:METS • xmlns:xlink • xmlns:xsi • xsi:schemaLocation FDsys aipgroup.xml
Extract METS fileSec FDsys aip.xml • Find tag <mets:fileSec> • Extract info contained within tag • Change xlink:href attribute within <mets:Flocat> • From • To • Fedora METS tags • METS:fileSec • METS:fileGrp • Add ID=“DATASTREAMS” • Other METS:fileGrp for each rendition • METS:file • Add OWNERID=“R” aipgroup.xml
Find mods.xml • Find tag <mets:dmdSec> • Extract info contained in <mets:mdRef> and keep track • ID is be used for mods_ID • To find location of mods file • Change xlink:href • From: • To: FDsys aip.xml
Extract MODS Tags • Extract info contained in mods.xml: • <titleInfo> • <name> • <typeOfResource> • <originInfo> • <language> • <physicalDescription> • <subject> • <location> • <recodInfo> • Extract entire tags in file • Fedora MODS tags • METS:dmdSecFedora • ID=“mods_ID” • METS:descMD • ID=“DC1.0” • METS:mdWrap • MDTYPE=“OTHER” • LABEL=“Bibliographic Data” • METS:xmlData • MODS:mods • ID=“mods_ID” • Mods Tags directly from mods.xml
MODS FDsys vs. Fedora FDsys mods.xml aipgroup.xml
Find premis.xml • Find tag <mets:amdSec> • Extract info contained in <mets:mdRef> • To find location of mods file • Change xlink:href • From • To FDsys aip.xml
Find Representations • Find tag <mets:fileGrp> • ID must not equal to OBJID • Extract ID attribute • Set as premisRepID# • Find tag <mets:file> • Extract ID attribute • Set as premisFileID# FDsys aip.xml
Extract PREMIS Object Tag FDsys aip.xml • Fedora PREMIS tags • METS:amdSec • ID=“amd/dprov-premisRepID#” • ID=“amd/dprov-premisFileID#” • METS:techMD • ID=“Any Value” • METS:digiprovMD • ID=“Any Value” • METS:mdWrap • MDTYPE=“OTHER” • LABEL=“PREMIS:Representation” • LABEL=“PREMIS:File” • LABEL=“PREMIS:Event” • LABEL=“PREMIS:Agent” • METS:xmlData • PREMIS • xmlns:xsi, xmlns, xsi:schemaLocation • <PREMIS>Insert Metadata </PREMIS> • Technical metadata for each rendition • Find Rep <object> • Extract <objectIdentifierValue> same as premisRepID# • Find File <object> • Extract <objectIdentifierValue> same value as premisFileID# • <objectIdentifier> • <objectCharacteristics> • <originalName> • <storage> • Change value <contentLocationValue> • From • To aipgroup.xml
Extract PREMIS Events • Fedora PREMIS tags • METS:amdSec • ID is premisFileID#-Abbrv. eventType • Example: MMC refers to Message Digest Calculation • METS:digiprovMD • ID is file#_Event# • METS:mdWrap • METS:xmlData • PREMIS • xmlns:xsi, xmlns, xsi:schemaLocation • Digital Provenance metadata for each rendition • Extract <event> tag • <eventType> • <linkingObjectIdentifierValue> • Same as premisFileID# • <linkingAgentIdentifierValue> • Set to premisAgentID aipgroup.xml
Extract PREMIS Event and Agent Tags • Fedora PREMIS tags • METS:amdSec • ID is value in <agentName> • METS:digiprovMD • ID is Agent# • METS:mdWrap • METS:xmlData • PREMIS • xmlns:xsi, xmlns, xsi:schemaLocation • Extract <agent> tag • <agentIdentifierValue> • Equal to premisAgentID aipgroup.xml
References • Fedora-Commons Fedora METS (Rules) • https://wiki.duraspace.org/display/FCR30/Fedora+METS • Fedora-Commons Users (Help with Foxml) • http://www.mail-archive.com/fedora-commons-users@lists.sourceforge.net/msg01804.html • METS • http://www.loc.gov/standards/mets/ • MODS • http://www.loc.gov/standards/mods/ • PREMIS • http://www.loc.gov/standards/premis/