Not checked it in yet, but here’s the results of the (incomplete)
alternate draft schema.
Three main pieces.
It is indeed a rather nicely consistent approach, simultaneously fixing
a number of things in consistent ways. I think it fits the Perl vision
statement, though I’m still thinking about the locator and contributor
elements. My hunch is it make sense to split off the locators into
their own elements, but keep contributors unified.
Instead of this, then:
And while there’s good logic in having the generic contributor element,
there’s a counter logic to having author as its own element, namely
that it’s easier to control validation associated with substitution.
I’m also still not sure about the cs:substitute element, though, as
overriding the substitution means basically overriding the entire
field. An attribute-based approach would make this easier I think.
Another option is to allow the substitute attribute on
contributor/author, such that it could be inherited by the substituted
field (like title).