Ralf, there's only one reason why I mentioned moving things to a follow-up task: the desire not to block a particular code area for days to come. As a matter of fact, I am not happy at all about the patch, as I had to introduce code to CollectionInfo (if I remember correctly) that I do not like at all.
In other words, whilst the patch removes all the conditionals from XSList (by introducing XSNMTokens and XSIdRefs), it makes things worse in another area. Rather than pondering fro days about a better solution (that in my opinion would require a lot of refactoring), I was thinking about releasing a partial improvement earlier (allowing you and Eddie to merge changes in as they become available, and as a result be able to touch other code areas), and subsequently discuss the 'botch' introduced to CollectionInfo. As you have said yourself, we are not talking about a blocker, but about general refactoring to improve the code base.
In addition, I am rather in favor of making a patch ready for review early (to, again, get your feedback, e.g. about the approach taken), especially when knowing that I am about to leave office and that I won't be on-line for the remainder of the evening.
Various remarks from the IRC logs:
<ralf> and NMTOKENS and IDREFS should be separated from XSList class
<ralf> i've see some code to distinguish between those by looking into the component type
<ralf> i suggest to also create issues to track this
<wguttmn> what class do you refer to when talking about IDREFS ?
<ralf> i will search for it as i do not remember where it was. just recognized it at the cleanup session
<wguttmn> it's in XSList, which in its getName() method does some check what to return, based upon the content type ....
<ralf> e.g. lines 546-570 of DescriptorSourceFactory
<wguttmn> iow, found it ....
...
<ralf> it think it would be better if the code at the mentioned lines would be created by XSList, XSNMTokens and XSIdRefs
...
<wguttmn> and XSNMTokens and XSIdRefs could still extend XSList ....
<ralf> i would move soem more code from XSList into XSListType and make XSNMTokens and XSIdRefs extend XSListType
<ralf> which is the abstract base class for all list types
<wguttmn> oh, i have not seen that yet ....
<wguttmn> will have a look ....
<wguttmn> it's TypeConversion, lines 201ff that actually create those XSList instances with content type set to either NMToken or IDREF ... funny ....
<wguttmn> that shoudl be easy to change ....
<wguttmn> do we have an issue for this already ?
<ralf> one could in addition try to move more of the validationCode() methods into the abstract facet classes
<ralf> @XSList: no
<ralf> not that i know of
<wguttmn> okay, will create one later on ....
<ralf> before my refactoring this task had not been possible as we had XSList as well as XSList2 and XSListODMG extending it