In reading METS 1.7 schema and the METS Primer, I ran across what
appears to be a discrepancy in the discussion of the <transformFile>
element.  The example in the Primer (quoted at the end of this message)
clearly shows content inside the transformFile element, though the
content shown is a bit odd:  


<sample01.tar.gz | tar -xvf > 


I would have expected that content to have CDATA marked sections around
it or the < escaped.  When I load the 1.7 METS schema in Oxygen 9.0,
however, it tells me that the transformFile element is declared to have
an empty content model and that content isn't allowed at this location.
I looked in the schema and there is no internal documentation for the
transformFile element and only a brief mention in the change logs
regarding this element.  So is the example wrong or the schema?   


What got me interested in this example was that I was looking for the
METS way to describe locations inside a complex tar file, one with a
directory tree inside the tar.  The markup in this example seems a bit
squishy: the link from the TIFF and JPEG back to the tar isn't least not to me (grin).  It took me a couple of readings to
realize that the rule here was that to actually locate the TIFF file,
you had to read sideways in the tree, find a preceding sibling element
with USE="Container", move to the child FLocat and child transformFile
and then apply the transformation rule. I was expecting that the
xlink:href on the extracted file would point back to the tar file
explicitly as the location.     


This transformFile element is an interesting concept; is anyone using
transformFile in their profile?  The index to profiles doesn't go to
that level of granularity.   


--- Evan Owens








The following example describes a *.tar.gz file which has two embedded
files within it, one a TIFF file and the other a JPEG file of the same
image. To use the <fileSec> to describe these files, you could use the
<transformFile> element in the following way: 

<mets:fileSec ID="TransformEX_01"> 

<mets:fileGrp ID="TAR_GZ_container_01" USE="Container"> 

<mets:file MIMETYPE="application/tar.gz" USE="Container"> 

<mets:FLocat xlink:href="file:sample01.tar.gz" ID="sampleTar01.gz" 


<mets:transformFile TRANSFORMORDER="1" TRANSFORMTYPE="decompression" 


<sample01.tar.gz | tar -xvf > 


<mets:file SEQ="1" MIMETYPE="image/tiff" CHECKSUM= 


<mets:FLocat xlink:href="file:sample01_image01.tiff" LOCTYPE="URL" 

USE="Archival Master"/> 


<mets:file SEQ="2" MIMETYPE="image/jpeg" CHECKSUM= 

"c3cb82611e48066016ceb8daa93d46df5" CHECKSUMTYPE="MD5"> 

<mets:FLocat xlink:href="file:sample01_image01jpeg" 

LOCTYPE="URL"USE="Display Derivative"/>