W3C home > Mailing lists > Public > www-xml-schema-comments@w3.org > October to December 2009

[Bug 8444] New: Limited Extensibility

From: <bugzilla@wiggum.w3.org>
Date: Mon, 07 Dec 2009 10:50:54 +0000
To: www-xml-schema-comments@w3.org
Message-ID: <bug-8444-703@http.www.w3.org/Bugs/Public/>

           Summary: Limited Extensibility
           Product: XML Schema
           Version: 1.1 only
          Platform: PC
        OS/Version: Windows XP
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Structures: XSD Part 1
        AssignedTo: David_E3@VERIFONE.com
        ReportedBy: shropshire@att.com
         QAContact: www-xml-schema-comments@w3.org
                CC: cmsmcq@blackmesatech.com

Hopefully this has been addressed already.

Problems with XML schema regarding extensibility.  unique particle attribution

Say you are an application developer, and you are using XML Schema to constrain
Web Services XML docs that are used in communications with other apps not under
your control.  These XML docs have a hierarchy like:

1st Generation
  xsd:any (optional - placeholder for future extension, 1st Generation apps
will not use this element)

and you want to insert a new node under xa without breaking apps using the old
structure (1st generation apps).

2nd Generation
  xae (new optional node)

In your 1st generation app, since you put xsd:any after xad, 1st generation
apps will allow the new xae optional element.  This way, you will be able to
understand stuff the old apps send you (they won't put anything in xsd:any) and
they will understand (by ignoring xae) stuff you send them.  The problem arises
when you want to add another element in a 3rd app.

3rd Generation
  xae (optional)
  xaf (optional)

Because xae was optional, xsd:any cannot be placed after xae.  Thus 3rd
generation apps (with xae and xaf)
can communicate with 1st generation apps but cannot send to 2nd generation apps
(2nd generation and 1st generation apps may 
send to 1, 2, and 3 and receive from 1 and 2).

1 may receive from 1, 2, and 3
1 may send to 1, 2, and 3

2 may receive from 1 and 2
2 may send to 1, 2, and 3

3 may receive from 1, 2, and 3
3 may send to 1 and 3

SHOULD allow optional elements to be placed before an xsd:any optional element.

Configure bugmail: http://www.w3.org/Bugs/Public/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
Received on Monday, 7 December 2009 10:50:55 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 14:50:10 UTC