RE: [XML Schema 1.1] What does the "appliesToEmpty" attribute mean? What does it do?

Thanks again Michael.

I'd like to confirm my understanding. 

Consider this element with empty content (but it has an attribute):

    <element name="image">
        <complexType>
           <attribute name="href" type="anyURI" />
        </complexType>
    </element> 

In an instance document we can have this:

    <image href="http://wwww.maps.org/boston.gif" />

Now, suppose the image element is declared in a schema that has defaultOpenContent with appliedToEmpty="true":

    <xs:defaultOpenContent mode="interleave" appliesToEmpty="true">
        <xs:any />
    </xs:defaultOpenContent>

Then in the instance document I can put extension elements *within* the <image> element:

    <image href="http://wwww.maps.org/boston.gif">
        <ex:comment>My home town</ex:comment>
    </image>

Conversely, if appliesToEmpty="false":

    <xs:defaultOpenContent mode="interleave" appliesToEmpty="false">
        <xs:any />
    </xs:defaultOpenContent>

Then in the instance document I cannot put extension elements *within* the <image> element.

Is that correct?

/Roger

-----Original Message-----
From: Michael Kay [mailto:mike@saxonica.com] 
Sent: Monday, June 01, 2009 12:27 PM
To: Costello, Roger L.; xmlschema-dev@w3.org
Subject: RE: [XML Schema 1.1] What does the "appliesToEmpty" attribute mean? What does it do?

When you have a defaultOpenContent in a schema document, this switch
determines whether the open content is allowed even on elements whose
content model is empty.

Section 3.4.2.3.3 clause 5 makes this clear: if a complex type does not
define its own <openContent>, then it is taken from the
<defaultOpenContent>, provided that either the content model is non-empty,
or the content model is empty and defaultOpenContent/@appliesToEmpty is true

Regards,

Michael Kay
http://www.saxonica.com/
http://twitter.com/michaelhkay 

> -----Original Message-----
> From: xmlschema-dev-request@w3.org 
> [mailto:xmlschema-dev-request@w3.org] On Behalf Of Costello, Roger L.
> Sent: 01 June 2009 17:04
> To: xmlschema-dev@w3.org
> Subject: [XML Schema 1.1] What does the "appliesToEmpty" 
> attribute mean? What does it do?
> 
> 
> Hi Folks,
> 
> A search for "appliesToEmpty" in the structures' 
> specification yields 4 occurrences of this term, but no prose 
> describing its meaning.
> 
> What does "appliesToEmpty" mean? What does it do?
> 
> /Roger

Received on Monday, 1 June 2009 20:26:20 UTC