ISSUE-67

using xsi:type to assert Type Substitution

State:
CLOSED
Product:
Advanced
Raised by:
Paul Downey
Opened on:
2006-07-26
Description:
Pattern from Faisel Waris which employs xsi:type
to perform type substitution.

"""
<complexType name="Part" > 
  <sequence> 
        <element name="Number" type="string" /> 
  </sequence> 
</complexType>

<complexType name="Assembly" /> 
        <sequence> 
                <element name="Part" type="tns:Part" minOccurs="0"
maxOccurs="unbounded" /> 
            </sequence> 
</complexType>

<element name="Assembly" type="tns:Assembly" /> 
...

This can be easily extended in an OO way as follows:

<complexType name="Part2" > 
 <complexContent> 
    <extension base="tns:Part"> 
       <sequence> 
        <element name="Description" type="string" /> 
        </sequence> 
     <extension> 
  </complexContent> 
</complexType>

At runtime we can use "Type Substitution" as follows:

<Assembly xmlns="…" xmlns:tns="…" xmlns:xsi="…"> 
   <Part> 
        <Name>p1</Name> 
  </Part> 
  <Part xsi:Type="tns:Part2"> 
        <Name>p2</Name> 
            <Description> extended part </Description> 
  </Part> 
</Assembly>
"""

http://lists.w3.org/Archives/Public/public-xsd-databinding/2006Jul/0014.html
Related emails:
  1. ISSUE-67: using xsi:type to assert Type Substitution (from dean+cgi@w3.org on 2006-07-26)
  2. Minutes: XML Schema Patterns for Databinding F2F 31st July - 1st August 2006 (from paul.downey@bt.com on 2006-08-01)
  3. Agenda: XML Schema Patterns for Databinding Telcon 8 August 2006 (from paul.downey@bt.com on 2006-08-07)
  4. Agenda: XML Schema Patterns for Databinding Telcon 22 August 2006 (from paul.downey@bt.com on 2006-08-21)
  5. Agenda: XML Schema Patterns for Databinding Telcon 5 September 2006 (from paul.downey@bt.com on 2006-09-03)
  6. Minutes: XML Schema Patterns for Databinding Telcon 5 September 2006 (from paul.downey@bt.com on 2006-09-05)
  7. Agenda: XML Schema Patterns for Databinding Telcon 12 September 2006 (from paul.downey@bt.com on 2006-09-11)
  8. Agenda: XML Schema Patterns for Databinding Telcon 19 September 2006 (from paul.downey@bt.com on 2006-09-18)
  9. Minutes: XML Schema Patterns for Databinding Telcon 19 September 2006 (from paul.downey@bt.com on 2006-09-19)
  10. Minutes: XML Schema Patterns for Databinding F2F 5th-6th October 2006 (from paul.downey@bt.com on 2006-10-07)

Related notes:

2006-10-05: known limitation of several tools, eg ADB 1.0, accepted as an Advanced pattern