I've just discovered something which is definitely a bug, though I'm not sure whether it's in my understanding of how ODD processors ought to behave or in the current incarnation of odd2odd. As you will recall, this stylesheet is supposed to "compile" an ODD into a form which can then be re-used by other ODDs. It looks to me as if it ignores anything other than deletions. For example, suppose my base ODD changes att.global.rendition by removing one of the attributes it supplies, changes the content model of some element, and supplies a valList for some attribute which didn't have one before. The first change is reflected in the compiled ODD generated by odd2odd, but neither the second nor the third is. This is quite a shock (if it's not just a bug in the code) as it considerably reduces the usefulness of odd chaining as a technique. Anyone else noticed it?