[Zope3-dev] Re: Schemas, Fields and Fieldsets
Jim Fulton
jim@zope.com
Sat, 29 Mar 2003 06:25:21 -0500
Phillip J. Eby wrote:
> At 12:33 PM 3/28/03 -0300, Sidnei da Silva wrote:
>
>> <big snip>
>>
>> On a related subject, I would like to know if there is any plan for
>> using a standard XML format for defining schema in Zope3.
>
>
> Actually, if we're going to use a standard format, I'd like to put in a
> plug for the OMG MOF, which just happens to have a standard XML
> interchange format, XMI.
>
> The MOF (Meta-Object Facility) is the metamodel for UML, CORBA, and
> other OMG standards such as CWM (Common Warehouse Metamodel - used for
> exchanging relational database schemas, warehouse transforms, and other
> goodies).
>
> I will admit that MOF doesn't have any built-in mechanism for dealing
> with fieldsets or UI representations. However, like UML it includes the
> notion of tagged values, that can be applied to classes and their
> attributes, methods, exceptions, etc. So a set of 'org.zope.schemas.*'
> tagged values could be agreed upon for such things.
>
> PEAK has an implementation of MOF 1.3.1 available; writing it mostly
> consisted of straightforward transcription from the specification
> document. And, because PEAK has a code generator which can create
> Python code from MOF models, I can trivially generate a similar
> implementation for any version of UML or CWM for which there exists an
> XMI document describing its metamodel. So, if Zope used MOF-based
> schemas, the same could be done with them.
>
> When I finish adding the ability to write XMI files from arbitrary
> models, I intend to start work on CWM->SQL generation as part of this
> overall MOF/XMI toolchain. Potentially, this could mean SQL generation
> from Zope schemas, if they are in the same overall conceptual ballpark.
> And, perhaps also useful, UML -> Zope schema generation. PEAK can
> currently read UML 1.3 or UML 1.4 models expressed as XMI 1.0 or 1.1,
> and represent the model as in-memory objects, so if Zope schemas were a
> subset (or stereotype/tagged value superset) of UML, that could work too.
This all sounds cool.
Jim
--
Jim Fulton mailto:jim@zope.com Python Powered!
CTO (703) 361-1714 http://www.python.org
Zope Corporation http://www.zope.com http://www.zope.org