In the METS schema documentation I found this comment about GROUPID:

"Two metadata sections with the same GROUPID value are to be considered
part of the same group.  This facility might be used, for example, to
group changed versions of the same metadata if previous versions are
maintained in a file for tracking purposes"

I was trying to take advantage of this by having two dmdSec to represent
the original and revised versions of the DC metadata for a given object
and linking them to each other with the GROUPID.  That was fine until I
got to the structMap and wanted to make the <div> point at the set of DC
metadata versions, either by ID or GROUPID.  As <div> has no GROUPID
attribute, that didn't work.  Pointing with IDs isn't great because I
would have to point to one or all of the IDs and not the group as such.
Ideally, I would like to be able to version the <dmdSec> without
touching other parts of the METS record.  

This isn't as much of a problem for pointing from a <div> to <admSec>
because the subelements of <admSec> can be repeated and pointed at via
the single ADMID attribute.  As long as I use on admSec to contain all
the versions of only one e.g., <techMD> block, I can point nicely with
the ID.  This suggests to me that perhaps <dmdSec> needs to be a wrapper
with a repeatable unit inside <dmdSec> just as <techMD> et al are
repeatable inside <admSec>.  That would better support explicit
versioning.  Something like this, perhaps:

<dmdSec ID="dmd1">
<amdSec ID="amd1">
  <div DMDID="dmd1" ADMID="amd1">
Is there a recommend way to manage versioning of <dmSec> within the
existing METS syntax? Or would it be better to try to maintain versions
within a METS file and use external versioning of the entire METS record
instead? That is a serious alternative, not just me trying to be
difficult (grin). 

Evan Owens 

Evan Owens ([log in to unmask]) 
Chief Technology Officer
Ithaka Electronic-Archiving Initiative 
228 Alexander Street 
Princeton, NJ 08540-7102 
Phone: 609 258-8230 
Fax: 609 258-5778