Hi all
Here's a slightly more meaty style issue for your consideration:
I would like to extend the PREMIS schema in at least one simple way: I
want to restrict the content for event.eventType to a handful of locally
meaningful values. Ideally that would also involve further refining the
element into something like eventSuperType and eventSubType, which suits
my needs, though it needn't trouble the global PREMIS schema.
I'd like to be able to define these (and other) extensions as local
refinements of PREMIS.xsd. I'd therefore expect to be able to create a
local schema that simply includes/imports all the definitions of
PREMIS.xsd, and then specifies a few redefinitions.
XML Schema offers a way to do this with <xs:redefine>. However, as far
as I can see, <xs:redefine> only works for type definitions, not element
definitions. Since all the PREMIS schema documents use a "Russian doll"
style, defining each element locally, rather than defining global types
separately and referencing them, it doesn't look like I'm going to be
able to do this.
Is this something that might be remedied soonish? If not, has anyone any
ideas on how else I might achieve my aims, without having to manage a
complete local rewrite of PREMIS.xsd - or convert to Relax NG!?
Richard
PS. FYI, Ch 13 of Eric van der Vlist's XML Schema book (O'Reilly) has a
clear description of schema style alternatives, and their consequences
for extensibility.
--
/
\ Richard M Davis
/ Digital Archives Specialist
\ University of London Computer Centre
/ Tel: +44 (0) 20 7692 1350
\ mailto: [log in to unmask]
/
|