Re: Extending Types

You mean something like this ?

<xs:complexType name="AbstractBusinessContentType"> <!-- No abstract
attribute anymore -->
   <xs:sequence>
     <xs:group ref="BusinessContentGroup"></xs:group>
   </xs:sequence>
</xs:complexType>

Then I leave definition.xsd with no definition for
BusinessContentGroup and only define it in item.xsd, changing
xs:redefine to xs:include, right ?
That works but then the parent XSD becomes invalid, since the group
isn't defined there, right ?

I'm not comfortable with this solution (although I will use it if
nothing betters comes up :D).. Is there any other ?
I know it could sound a little picky, but I seems to me abstract
should do the work and I'm just forgetting something...




On Tue, Dec 1, 2009 at 5:00 PM, Michael Kay <mike@saxonica.com> wrote:
>>
>> Actually, in my case, I need to create a complexType that
>> will be extended by other people, just overwriting (or
>> "implementing") the BusinessContent tag.
>
> I think the simplest solution is a low-tech one: have your type refer to a
> named model group called BusinessContentGroup which you define in a separate
> schema document, which people can edit.
>
> OK that has disadvantages, for example it makes it difficult for different
> extensions of the schema to coexist, but those disadvantages apply to nearly
> all other techniques as well.
>
> Regards,
>
> Michael Kay
> http://www.saxonica.com/
> http://twitter.com/michaelhkay
>
>

Received on Tuesday, 1 December 2009 19:27:57 UTC