Print

Print


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]
/