Difference between xs:redefine and xs:override in XML schema 1.1

Olumide picture Olumide · Feb 3, 2014 · Viewed 7.6k times · Source

What is the difference between <xs::redefine> and <xs::override> in XML schema 1.1. I've got two books on XML Schema in front of me and I still can't tell the difference. The only thing that I'm sure of is that both are pervasive and that <xs::redefine> is deprecated.

Answer

Octavian picture Octavian · Feb 3, 2014

Using redefine you can extend or restrict a component (complex types, simple types, model groups and attribute groups). So, you reuse the original definition of the component and you extend or restrict it.

The override allows you to replace the definition of a component. So, you create a new component with the same name that replaces the original definition. You can override any top-level named component (complex types, simple types, element declarations, attributes declarations, model groups, attribute groups and notations).

You can read more about the override here: http://www.w3.org/TR/xmlschema11-1/#override-schema Or you can read the Roger Costello XML Schema 1.1 tutorial: http://www.xfront.com/xml-schema-1-1/index.html

I also recommend Priscilla Walmsley book: "Definitive XML Schema, 2nd Edition"

Regards, Octavian