RE: Invalid: derivation of complex type by restriction of simple type not allowed

Kai,

>From reading your note, I think I understand what you want to do - take
that with a grain of salt :-)

Looks like you're creating an element that may have one of any item from
a list values as well as an attribute, label. Something like...

<textareaTypeInstance label="Foo">Foo</textareaTypeInstance>

Where `Foo` is one of a few valid values. If this isn't what you want,
don't bother going any further because I'm already going down the wrong
path :-) Try something like...

<xs:complexType name="textareaType">
	<xs:simpleContent>
		<xs:extension base="fooType">
			<xs:attribute ref="label" use="required"/>
		</xs:extension>
	</xs:simpleContent>
</xs:complexType>
<xs:simpleType name="fooType">
	<xs:restriction base="xs:token">
		<xs:enumeration value="Blah"/>
		<xs:enumeration value="MoreBlah"/>
		<xs:enumeration value="BlahAgain"/>
		<xs:enumeration value="IsThatMoreBlah"/>
	</xs:restriction>
</xs:simpleType>

This should work - as long as there is a `label` attribute some place to
reference :-) Not sure why this works. It just makes sense to me. I'll
leave the techie explenations to Peter, Michael, and the rest.

Cheers,
Adam

Adam Fortuno
Metavante Lending Solutions
http://www.metavante.com/lending


-----Original Message-----
From: xmlschema-dev-request@w3.org [mailto:xmlschema-dev-request@w3.org]
On Behalf Of WJ Krpelan
Sent: Monday, November 05, 2007 4:30 AM
To: xmlschema-dev@w3.org
Subject: Re: Invalid: derivation of complex type by restriction of
simple type not allowed


Hi,
the base rule for restriction seemingly is that the derived type must in
all possible instances validate against its base type, which of course
is not the case with an additional attribute hth Wolfgang


--- Pete Cordell <petexmldev@tech-know-ware.com>
wrote:

> 
> Hi Kai,
> 
> The schema snippet you present is illegal.  There are some cases when 
> simple types can restrict complex types (and possibly vice
> versa) but this isn't
> one of them.
> 
> If you could say what you would like to do then perhaps someone can 
> suggest how to do it.
> 
> Cheers,
> 
> Pete Cordell
> Codalogic
> for XML Schema to C++ data binding visit  
> http://www.codalogic.com/lmx/
> ----- Original Message -----
> From: "Kai Schlamp" <schlamp@medihack.org>
> To: <xmlschema-dev@w3.org>
> Sent: Thursday, November 01, 2007 2:25 AM
> Subject: Invalid: derivation of complex type by restriction of simple 
> type not allowed
> 
> 
> >
> > Hello!
> >
> > In my schema I have the following:
> >
> > <xs:complexType name="textareaType">
> >        <xs:simpleContent>
> >                <xs:restriction base="xs:string">
> >                        <xs:attribute ref="label"
> use="required" />
> >                </xs:restriction>
> >        </xs:simpleContent>
> > </xs:complexType>
> >
> > But W3C Schema validator tells me there is an
> error (derivation of
> > complex type by restriction of simple type not
> allowed), even if
> > w3schools writes, that this should be valid code
> (http://
> > www.w3schools.com/schema/schema_complex_text.asp).
> > I also checked the original Schema reference
> (http://www.w3.org/TR/
> > xmlschema-1/), that points out: "Note that either
> <restriction> or
> > <extension> must be chosen as the content of
> <simpleContent>."
> > When I replace restriction by extension everything
> works fine. But I
> > want to restrict the element type in a further
> step.
> > Any help?
> >
> > Best regards,
> > Kai
> >

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around
http://mail.yahoo.com 

Received on Wednesday, 7 November 2007 15:32:08 UTC