Lots of declarations in docbook.rnc are duplicated in docbookxi.rnc. If we use the include an combine features of RELAX NG, we do not have the problem.
The attached fil is my rewrite of docbookxi.rnc (V5.0)
Logged In: YES
The actual sources for the DocBook schemas are kept in a large collection of .rnc files, all merged together with include and combine.
However, a number of "declarative" features are also supported (like Schematron rules for exclusions). They're supported by having a rather hairy build process that merges and flattens all the includes and combines.
That's why we wind up with monolithic schemas at the end of the day. It's also been argued that these are easier for users because they don't need to keep a (large) collection of files together and in sync.
I'm not uniformly happy with the result, but it seems to be working.
I suppose that simple, "on top of the standard" customizations like XInclude could be done differently, but today that would be harder.
Log in to post a comment.