OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Re: [xml-dev] Objections to / uses of PSVI?

[ Lists Home | Date Index | Thread Index ]

Hi Ron,

>> You're right with your first reading. Types can't have default
>> values; only elements and attributes can have default or fixed
>> values. The "Schema Information Set Constribution: Element Default
>> Value" is talking about the {value constraint} property on the
>> element declaration schema component.
>
> Just to be crystal clear: elements with complex types can't have
> default values. Correct?

No, that's not correct. Elements with complex types can have default
values, in either of the following situations:

  - the complex type of the element has simple content (in which case
    the default value must be valid against the type of that simple
    content)

  - the complex type of the element is mixed, and it's possible for
    the element to be valid without containing any elements

As an example of the second, the following element declaration is
fine, because the bar element is optional:

<xs:element name="foo" default="default">
  <xs:complexType mixed="true">
    <xs:sequence>
      <xs:element name="bar" type="xs:string" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
</xs:element>

and <foo /> would be the same as <foo>default</foo>.

Whereas the following is invalid:

<xs:element name="foo" default="default">
  <xs:complexType mixed="true">
    <xs:sequence>
      <xs:element name="bar" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
</xs:element>

because even if foo was given the default value, it wouldn't be valid.

See http://www.w3.org/TR/xmlschema-1/#cos-valid-default for the
official wording.

Cheers,

Jeni

---
Jeni Tennison
http://www.jenitennison.com/





 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS