Print

Print


Further to the discussion of a format where dc elements may be mixed with
elements from other namespaces .....

I have drafted a schema which I'll call, temporarily (pending discussion of
its name),  dcxyz.
It's at:
http://www.loc.gov/standards/sru/resources/dcxyz.xsd

Here is a hypothetical instance:
----------------------------------------------------------------------------
-------------------
<dcxyz
xmlns="info:xxx/yyy" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="info:xxx/yyy
http://www.loc.gov/standards/sru/resources/dcxyz.xsd"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/"
xmlns:mods="http://www.loc.gov/mods/v3">

<dcElements>
      <dc:contributor>Cat's Cradle</dcElements>

<otherElements>
    <mods:genre xsi:schemaLocation="http://www.loc.gov/mods/v3
mods-3-3.xsd">science fiction</mods:genre>
    <prism:startingPage>145</prism:startingPage>
    <prism:endingPage>160</prism:endingPage>
</otherElements>

</dcxyz>
_________________________________________________________________________

Observations:

-  Even before considering the namespace enhancement, this differs
significantly from the SRU dc schema, which (1) provides for both dc record
and dc collection, and (2) handles namespacing completely different, so that
dc elements are not prefixed.  This schema does neither, and I am assuming
that nobody want either of these features; let me know otherwise.

- This schema requires wrappers <dcElements> and <otherElements>.  (Without
defining these, the schema  won't validate because the content model is
ambiguous, due to the introduction of arbitrary namespaces.)

- The schema element <xs:any>  allows you to include any namespaced element
and have it validated against a schema, or not.
It uses processContents="lax",  which means that you can include a schema
location or not for any given namespaced element.  If you do, it will
validate; if you don't it won't.  In the example schema non-dc elements are
included from MODS and from prism.  The MODS element is validated because
the MODS schema location is included. The prism elements are not validated
because no schema location is provided.


Functionally this is essentially the dcx schema we've been discussing and I
propose that we formalize it as dcx.   Since some form of a dcx schema
apparently is in use, I will call it something else if there is objection.

Since there is currently no formal definition of dcx, I don't know for sure
if  dcx that has been implemented conflicts with this definition.  If it
does we can either try to resove the difference or give this schema a
different name.   In either case this would be the official LC maintained
schema for mixing dc simple element with elements from other namespaces.

This schema is only a draft at this point so comments are welcome, but I
don't see a need to prolong this process, it's not really as complicated as
we're making it, so if you want to comment please do so soon.

--Ray