Khaled Noaman on XML Schema 1.1

Khaled Noaman, member of the XML Parser Development team at the IBM® Toronto Lab, talks about his co-authored developerWorks article series on XML Schema 1.1.


Scott Laningham (, developerWorks Podcast Editor, IBM developerWorks

Scott LaninghamScott Laningham, host of developerWorks podcasts, was previously editor of developerWorks newsletters. Prior to IBM, he was an award-winning reporter and director for news programming featured on Public Radio International, a freelance writer for the American Communications Foundation and CBS Radio, and a songwriter/musician.

17 November 2009

developerWorks: This is a developerWorks podcast. I'm Scott Laningham, here with Khaled Noaman, a member of the XML Parser Development Team at the IBM Toronto Lab. He's here to talk about a developerWorks article series on XML Schema 1.1. Thanks for doing this, Khaled.

Noaman: Hi, Scott. I'm happy to be here.

Understand why you should be concerned about co-occurence constraints


developerWorks: Can you talk a bit about your particular focus with the team in Toronto? What have you been doing the last few years?

Noaman: So in the four or five years, I've been working on implementing XML Schema 1.0 in Apache Xerces-C++ parser. And in the last year, I moved to work on Apache Xerces-J parser and I'm currently leading the implementation of XML Schema 1.1 in Apache Xerces-J. And the current plan is to have a prototype by the end of this year and hopefully by the beginning of next year, we should a full implementation of XML Schema 1.1.

developerWorks: So what is new with this schema, this XML Schema 1.1, Khaled? What is key to know here for the user?

Guest: Khaled Noaman

Along with Neil Delima, Sandy Gao, and Michael Glavassevich, Khaled Noaman really covers the XML Schema 1.1:

  • Part 1 overviews the features and highlights the additions and changes to the datatypes portion of the specification.
  • Part 2 dives deep into the co-constraint mechanisms introduced by XML Schema 1.1, specifically the new assertions and type alternatives.
  • Part 3 shows how wildcards play a key role in providing extensibility points.

Three more parts to come (at the time of this interview).

Noaman: So XML Schema 1.1 has added many new features, as well as many enhancements. I'm just going to touch base on two features I think are very important:

  • One is called co-occurence constraints and this feature not only allow a schema also to constrain the content of anonymous attributes, but their existence as well. Now a schema also can restrict the content of anonymous attributes such as:
    • the ability to restrict the appearance of a certain child element based on the value when it's viewed or
    • having a total sum of child elements not exceeding a certain value or
    • allowing a value of a child element to be valid based on the scope in which it is found.
  • The second feature that is very important also is called versioning. It's basically you have a schema versioning where you actually try to have schema to be backwards-compatible with another schema version. So the idea here, that means that Schema 1.0 should remain valid under Schema 1.1.

    The other kind of compatibility it's called forward compatibility and this is usually hard to achieve because this means that a valid instance of schema version N + 1 should also be valid on the schema version N. And this is usually hard to achieve because usually the author doesn't know what kind of changes or what kind of additions will be introduced in the next version.

    So Schema 1.1 has added some extension points that a schema also can use to define schema that eventually can become compatible with future version of the schema.

developerWorks: Very good, Khaled. Now, we should mention that you co-authored this series with three other IBMers, right? I'm sure you want to mention them.

Noaman: Yes, so this is co-authored with Sandy Gao, Michael Glavassevich, and Neil Delima ... they all work at IBM Toronto Lab.

developerWorks: Can you give an overview of the series, I mean, we don't have a lot of time here, but just what will the reader learn? What were you all intending with the series?

Noaman: Yes, so basically right now we have, currently we have two parts that are published. [Editor: Actually, three parts, lucky readers.] One is just a given introduction to XML Schema 1.1, what's the new features. And we touch on some of the enhancements that were added to Schema 1.0, especially to data types. And in the second part, we discuss the co-occurence constraints. And in the third article, we go and touch base on some of the versioning rules that were introduced in Schema 1.1. And in the future version, we will talk more about versioning, as well as some of the new features added like all content models, as well as a more powerful data binding.

developerWorks: Wonderful. And the reader can find that article, at least the one that we're talking about for this week, which is Part 3 in that series, An Introduction to XML Schema 1.1. That will be, right, that's on the developerWorks home page this week. And the next article in the series will be coming when? Do you know yet, Khaled?

Noaman: It's probably going to be some time next year.

developerWorks: Okay. Khaled Noaman, a member of the XML Parser Development Team at the IBM Toronto Lab and co-author of a highlighted article this week on XML Schema 1.1. Thanks, Khaled.

Noaman: Thank you very much.

developerWorks: Also new on developerWorks this week:

and finally,

Find it all at, IBM's premiere technical resource for software developers with tools, code, and education on IBM products and open standards technology. I'm Scott Laningham. Talk to you next time.



developerWorks: Sign in

Required fields are indicated with an asterisk (*).

Need an IBM ID?
Forgot your IBM ID?

Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.


The first time you sign into developerWorks, a profile is created for you. Information in your profile (your name, country/region, and company name) is displayed to the public and will accompany any content you post, unless you opt to hide your company name. You may update your IBM account at any time.

All information submitted is secure.

Choose your display name

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

Required fields are indicated with an asterisk (*).

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.


All information submitted is secure.

Dig deeper into developerWorks

ArticleTitle=Khaled Noaman on XML Schema 1.1