Hi Robert,

The multiple dmdSec approach seems to be more common than a
custom-schema-combining-elements-from-many-schemas approach.

If you want to be clear that all the dmdSec's relate the the object as a
whole rather than parts of the object, you can link them all to the root
div in the structMap.

  <dmdSec ID="DMD1"><mdWrap><xmlData>...</xmlData></mdWrap></dmdSec>
  <dmdSec ID="DMD2"><mdWrap><xmlData>...</xmlData></mdWrap></dmdSec>
  <dmdSec ID="DMD3"><mdRef/></dmdSec>
  <structMap><div DMDID="DMD1 DMD2 DMD3"/></structMap>

You could do this in both the complimentary and crosswalk cases you
mention.  I don't think there is really a way to differentiate those two
cases in METS.

Combining elements from different namespaces together in one mdWrap is
possible, but that is probably trickier to get to validate, because you
need a "wrapper" schema for the root element inside of the <xmlData>
that sets up all the namespaces/schemas you will be using inside of the
record.  However, I believe MODS, for example, has some mechanism to
bring in extension elements from other namespaces/schemas.  You could
have and RDF record in the dmdSec/mdWrap that combines elements from
several namespaces/schemas.

-- Brian Tingle

On Thu, 2005-05-26 at 16:07, Robert Tansley wrote:
> Hi all,
> I have a question about the best way to embed some descriptive metadata in
> METS.  It may be as much a plain XML question as a METS question.
> First, some background:  I have a project in China that is connecting
> DSpaces together (sharing/mirroring content and metadata) using METS (1.4)
> over OAI-PMH, with content included via reference (i.e. a URL that the
> DSpace doing the mirroring can retrieve).
> The metadata requirements of the project aren't fulfilled by Dublin Core
> alone.  Every item has a few core Dublin Core fields, and there are various
> categories of object, each with some extended (non-DC) elements.
> The question is, would it be useful to include the Dublin Core in its own
> <dmdSec>, and have the extended metadata (with a separate XML schema) in a
> separate <dmdSec>?  My initial suspicion was that having separate <dmdSec>s
> would be useful because:
> - Easier to do XML schema validation on each.  Is this true?  It's certainly
> possible to 'mix' elements from different namespaces in a single <mdWrap>,
> but I'm not sure of the implications for validation (which is pretty
> important for this project I think.)
> - Other systems that don't understand the extended metadata can at least use
> the Dublin Core.  Though perhaps a separate dmdSec wouldn't make much
> difference here, if the other system can pick out the understood elements
> from the one <dmdSec>?  However I can see that a simple, general METS
> profile might just be "METS with DC in a dmdSec", which means that our
> project would conform to that (as well as our own more specific profile, of
> course).
> I'm also wondering whether the presence of two <dmdSec>s could confuse
> people.  Both <dmdSec>s relate to the object as a whole, rather than an
> individual file or group of files.  Also, they are complementary.  That is,
> in order to get all the descriptive metadata about the object, you need the
> contents of both; this is a different situation to where one dmdSec is a
> crosswalk of the other (e.g. where one <dmdSec> has Dublin Core, and another
> has "the same" metadata crosswalked into MODS).  Does the presence of two
> <dmdSec>s imply or suggest anything?  Or is it purely up to the particular
> profile/use of METS?
> I guess I'm just wondering whether there is a best practice or any advantage
> to one approach over the other.  Any comments welcome...
>  Robert Tansley / Digital Media Systems Programme / HP Labs