So the rule becomes, "when writing a custom type, IF you extend DataType, and IF those who program to your custom type only use addXXX and/or add(Type), then the refid attribute will be handled for you automatically." That's all well and good, but basically I don't see what it gains us. In a rewrite I think it would be possible to have everything a form of add() or addXXX(), the latter serving only to give a specific element name to an instantiable type. But given the responsibility of supporting all historical subelement creation patterns I don't see that reference processing in the core stops authors of new DataTypes (including us) having to support refid through code. I'd love to be wrong, though.
No, you are right, I think. The processing of refs in the types themselves is unfortunate.
Conor
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]