Jim Fulton wrote:
But a schema is useful for more than "specifying the values of an object". All notions of schemas I've encountered (CPS Schemas, XML Schemas, Archetypes) use the schema to constrain or validate an existing object, yes, but also to create new objects from scratch (even in the absence of widgets). Being able to specify initial values is quite important there.

It's not clear to me that XML schemas specify this.  I'm quite skeptical
than they do.  (They have this mysterious "initial value" thing that
I can't make any sense of.)  I can't believe that XML schemas deal
with the history of a document, which would seem necessary to give
inital value, as we mean it, any meaning.

http://www.w3.org/TR/xmlschema-0/#OccurrenceConstraints (2.2.1) says:

  Default values of both attributes and elements are declared using the
  'default' attribute, although this attribute has a slightly different
  consequence in each case. When an attribute is declared with a default
  value, the value of the attribute is whatever value appears as the
  attribute's value in an instance document; if the attribute does not
  appear in the instance document, the schema processor provides the
  attribute with a value equal to that of the 'default' attribute. Note
  that default values for attributes only make sense if the attributes
  themselves are optional, and so it is an error to specify both a
  default value and anything other than a value of 'optional' for 'use'.

An "instance document" is comparable to our object, it is what is being validated/filled by the processor.


Florent Guillaume, Nuxeo (Paris, France)   CTO, Director of R&D
+33 1 40 33 71 59   http://nuxeo.com   [EMAIL PROTECTED]
Zope3-dev mailing list
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com

Reply via email to