In zope.schema, IBaseVocabulary extends ISource, so a vocabulary is a 
specialisation of a source. However, we have both an 
IContextSourceBinder and an IVocabularyFactory, both of which have a 
single method __call__(context) to return a source or vocabulary 
respectively. However, IVocabularyFactory does not extend 

Is there some logic to this? Are they meant to be separate? I've seen 
naemd vocabularies registered with IVocabularyFactory. Is there some 
reason why you couldn't have named vocabulary factories creating simple 
sources instead of vocabularies?


Author of `Professional Plone Development`, a book for developers who
want to work with Plone. See http://martinaspeli.net/plone-book

Zope3-users mailing list

Reply via email to