Zope3.2

zope.interface はアダプタくらいまでしかなくて、factory class とか multi adapter とかは別の場所にある。なんだよこの構造は。
ファクトリの列挙は

from zope.app import component
factories = list(component.getFactoriesFor(Interface))

ファクトリの登録は

<!-- from zope/app/schema/fields.zcml -->
<content class="zope.schema.Text">

	<factory
		id="zope.schema.Text"
		title="Text Field"
		description="Text Field" />

	<implements interface="zope.schema.interfaces.IFromUnicode" />

	<require like_class="zope.schema.MinMaxLen" />
	<require like_class="zope.schema.Field" />

</content>

マルチアダプタの取得は

from zope.app import zapi
multiapapter = zapi.getMultiAdapter((context1, context2, ), Interface)

マルチアダプタの登録は

<!-- from zope/app/form/browser/configure.zcml -->
<view
	type="zope.publisher.interfaces.browser.IBrowserRequest"
	for="zope.schema.interfaces.IText"
	provides="zope.app.form.interfaces.IInputWidget"
	factory=".TextAreaWidget"
	permission="zope.Public"
	/>