W3C home > Mailing lists > Public > xmlschema-dev@w3.org > November 2004

subst group example in Primer?

From: Burak Emir <Burak.Emir@epfl.ch>
Date: Mon, 29 Nov 2004 17:30:01 +0100
Message-ID: <41AB4E89.4040604@epfl.ch>
To: xmlschema-dev@w3.org

Hello all,

The XML Schema Part 0, Section 4.6 "Substitution groups" reads
=======
 
Example
Declaring Elements Substitutable for comment

<element name="shipComment" type="string"
         substitutionGroup="ipo:comment"/>
<element name="customerComment" type="string"
         substitutionGroup="ipo:comment"/>

When these declarations are added to the international purchase order 
schema, |shipComment| and |customerComment| can be substituted for 
|comment| in the instance document, for example:

Example
Snippet of ipo.xml <http://www.w3.org/TR/xmlschema-0/#ipo.xml> with 
Substituted Elements

....
<items>
  <item partNum="833-AA">
    <productName>Lapis necklace</productName>
    <quantity>1</quantity>
    <USPrice>99.95</USPrice>
    <ipo:shipComment>
      Use gold wrap if possible
    </ipo:shipComment>
    <ipo:customerComment>
      Want this for the holidays!
    </ipo:customerComment>
    <shipDate>1999-12-05</shipDate>
  </item>
</items>
....

=====

But if you check ipo.xsd elsewhere, you find:
...

 <complexType name="Items">
    <sequence>
      <element name="item" minOccurs="0" maxOccurs="unbounded">
        <complexType>
          <sequence>
            <element name="productName" type="string"/>
            <element name="quantity">
              <simpleType>
                <restriction base="positiveInteger">
                  <maxExclusive value="100"/>
                </restriction>
              </simpleType>
            </element>
            <element name="USPrice"    type="decimal"/>
            <element ref="ipo:comment" minOccurs="0"/> <!-- CHECK THIS ONE OUT -->
            <element name="shipDate"   type="date" minOccurs="0"/>
          </sequence>
          <attribute name="partNum" type="ipo:SKU" use="required"/>
        </complexType>
      </element>
    </sequence>
  </complexType>
...
====

Why would it be allowed to include a customerComment AND a shipComment ?!? My thinking goes, there should be up to one.
Have I overlooked something?

Thanks,

Burak Emir

http://lamp.epfl.ch/~buraq
Received on Monday, 29 November 2004 16:30:05 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 5 February 2014 23:40:23 UTC