RE: empty xs:extension of a simple type

> 
> I'm looking at a machine generate schema which contains this:
> 
> <xs:complexType name="foo">
>   <xs:simpleContent>
>     <xs:extension base="xs:string">
>     </xs:extension>
>   </xs:simpleContent>
> </xs:complexType>
> 
> That's just the same as type="xs:string" isn't it?
> 

Not quite. It's a complex type rather than a simple type. It validates the
same content as xs:string, but it can be extended and restricted (and
unioned and listed...) in different ways from xs:string. It's likely to
behave differently when you do Java data binding, and it's certainly
different when you do type-aware XQuery and XSLT.

It does raise the question of why simple types are something radically
different from complex types, rather than simply a special case of a complex
type that happens to define no children and no attributes.

Michael Kay
http://www.saxonica.com/

Received on Wednesday, 8 October 2008 14:17:54 UTC