# W3C Workshop on XML Schema 1.0 User Experiences - LC124

Paul Downey, paul.downey@bt.com

# Compatible Evolution

XML is a YASDF*:

- add optional stuff
- don't delete stuff
- don't change the meaning of stuff
- communicate breaks in compatibility

* yet another self describing format

# WSDL Last Call Issue - LC124

- Evolution an big issue for Web services
- WSDL WG failed to engage XML Schema WG
- LC124 - versioning last stand
- Concrete^W Cement Proposal

# XML Schema 1.0 for Description

1. description of content constructed by a sender
2. description of content available for a receiver
3. validating the format of a message

# Versioning and XML 1.0

- got to get it right in schema version 0
- UPA and greedy xs:any make writing extensible schemas tricky
- Have resort to dumb schema tricks

# Validate Twice

Henry Thompson's technique:

1. Validate document
2. Prune PSVI elements marked "*[pe:validity()='notKnown']"
3. Validate pruned document

# Annotation, Extension, Mandatory

- make ignoreUnknowns mandatory
- make ignoreUnknowns optional
  - `<xs:schema wsdlx:mustIgnore='true' ...`
  - `<xs:element wsdlx:mustIgnore='true' ...`
  - `<xs:import wsdlx:mustIgnore='true' ...`
  - `<wsdl:types wsdlx:mustIgnore='true' ...`
  - lots more ..

# LC124 - Questions

- Does ignoreUnknowns impact data mapping?
- Is this a tractable problem?
- Should WSDL define this?