Hi Michael,

Thanks for the fast response. Having read through it all again, I agree
with your assesment.

Thanks,
David

On 10/03/10 12:47, Michael Glavassevich wrote:
>
> Hello David,
>
> Aside from the missing import for "xml:lang" I believe this schema is
> valid. The effective content of the extension is empty and so inherits
> the {content type} of the base which is mixed.
>
> See the definition in this section [1] of the spec:
>
> {content type}
> ...
> 3.2 If the <extension> alternative is chosen, then the appropriate
> case among the following:
> 3.2.1 If the ·effective content· is empty, then the {content type} of
> the type definition ·resolved· to by the ·actual value· of the base
> [attribute]
>
> This is a mapping from the XML representation of the complex type to
> its schema component properties. The clause [2] you've found later
> only applies to the complex type definition *component*. After mapping
> the XML representation to schema components the base and extension
> have a consistent {content type} (both being mixed) so I see no error
> here.
>
> Thanks.
>
> [1] http://www.w3.org/TR/xmlschema-1/#declare-type
> [2] http://www.w3.org/TR/xmlschema-1/#cos-ct-extends
>
> Michael Glavassevich
> XML Parser Development
> IBM Toronto Lab
> E-mail: mrgla...@ca.ibm.com
> E-mail: mrgla...@apache.org
>
> David North <dtn-xerce...@corefiling.co.uk> wrote on 03/10/2010
> 06:45:41 AM:
>
> > Hi,
> >
> > We think we have discovered an anomaly in Xerces' interpretation of
> > the XML schema structures specification.
> >
> > Clause 1.4.3.2.2.1 of http://www.w3.org/TR/xmlschema-1/#cos-ct-extends
> > specifies that when deriving a new complex type by extension from an
> > existing complex type, then: "Both {content type}s must be mixed or
> > both must be element-only".
> >
> > As demonstrated by the following schema, Xerces-J does not raise an
> > error despite the extension of a mixed complex type by a non-mixed
> > one being illegal. Note that no error is raised regardless of
> > whether the extension type explicitly sets mixed=false or relies on
> > the default value of the mixed attribute (false).
> >
> > <?xml version="1.0" encoding="UTF-8"?>
> > <schema elementFormDefault='qualified' targetNamespace='http://
> > www.example.com/test/' xmlns='http://www.w3.org/2001/XMLSchema'
> xmlns:eg='
> > http://www.example.com/test/' <http://www.example.com/test/%27>>
> >   <complexType name='mixedType' mixed='true'>
> >     <sequence>
> >       <any processContents='skip' minOccurs='0'
> > maxOccurs='unbounded' namespace='http://www.w3.org/1999/xhtml' />
> >     </sequence>
> >   </complexType>
> > <!-- This extension violates clause 1.4.3.2.2.1 of http://
> > www.w3.org/TR/xmlschema-1/#cos-ct-extends
> >      Xerces-J does not raise any errors or warnings when processing
> > this file with full schema checking
> >      This is still the case even with mixed=false explicitly set on
> > the complexType below and/or the complexContent
> >      Note that the inverse problem applies: move mixed=true from the
> > type above onto this one, and Xerces-J fails to complain
> >      (this case is also forbidden) -->
> >   <complexType name='extensionType'>
> >     <complexContent>
> >       <extension base='eg:mixedType'>
> >         <attribute use='required' ref='xml:lang' />
> >       </extension>
> >     </complexContent>
> >   </complexType>
> > </schema>
> >
> > Is this intentional behaviour? Eclipse XSD appears to behave
> > identically, but we are led to believe that other tools regard such
> > schemas as invalid.
> >
> > We are using xerces-j version 2.9.1
> >
> > Thanks,
> > --
> > David North, Software Developer, CoreFiling Limited
> > http://www.corefiling.com
> > Phone: +44-1865-203192
>


-- 
David North, Software Developer, CoreFiling Limited
http://www.corefiling.com
Phone: +44-1865-203192


---------------------------------------------------------------------
To unsubscribe, e-mail: j-users-unsubscr...@xerces.apache.org
For additional commands, e-mail: j-users-h...@xerces.apache.org

Reply via email to