I think ODD is just fine for what you suggest, and will work
fine if you use the command-line Roma. What that adds is a parameter
to specify the source file.
So you create a master ODD which lots
of <elementSpec ident="xxx" module="yyy"> records in, and
requisite <moduleSpec ident="yyy"> elements to document the
modules. This has no <schemaSpec> in it.
Now write a new ODD file with a <schemaSpec> which defines a customization
of your master spec, and has lines like
Process that with Roma, telling it the name of your master file,
and you should get what you want.
I'd be quite delighted if you got this working, so please
feel free to ask for any help you need, or bug fixes
to the software.
The web Roma remains tied to the TEI Guidelines for the moment;
generalizing that would be a lot more work.
Information Manager, Oxford University Computing Services
13 Banbury Road, Oxford OX2 6NN. Phone +44 1865 283431