Hi,
I'm trying to create a schema and am wanting to redefine a complex type defined
in another schema using the "redefine" and "extension" tags. I can't seem
to get it to validate. I have found an example which seems perfectly suited
for my needs which I found via W3c, the link is http://www.xfront.com/BestPracticesHomepage.html.
I downloaded the zip file which comes complete with validated examples, but
when I load the relevant files into either XML Spy 3.5 or XML Authroity 2.0
they are not validated correctly.
Below is the XML used for defining the threee schemas involved in this example,
which are person.xsd, product.xsd and company.xsd:



####Person.xsd####
<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.company.org"
xmlns="http://www.person.org"
elementFormDefault="qualified">
<xsd:complexType name="PersonType">
<xsd:sequence>
<xsd:element name="Name" type="xsd:string"/>
<xsd:element name="SSN" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
####################

####Product.xsd####
<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.company.org"
xmlns="http://www.product.org"
elementFormDefault="qualified">
<xsd:complexType name="ProductType">
<xsd:sequence>
<xsd:element name="Type" type="xsd:string" minOccurs="1" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
#########################

####Company.xsd####
<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.company.org"
xmlns="http://www.company.org"
elementFormDefault="qualified">
<xsd:include schemaLocation="Person.xsd"/>
<xsd:redefine schemaLocation="Product.xsd">
<xsd:complexType name="ProductType">
<xsd:complexContent>
<xsd:extension base="ProductType">
<xsd:sequence>
<xsd:element name="ID" type="xsd:ID"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
</xsd:redefine>
<xsd:element name="Company">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Person" type="PersonType" maxOccurs="unbounded"/>
<xsd:element name="Product" type="ProductType" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
#########################

The type that is getting redefined is the ProductType in the Product.xsd
schema file.
One of the problems seems to be that Authority does not recognise the redefine
tag, XML Spy does but only if I change the doesn't recognise the schemaLocation
even if I give the full path to the ProductType.xsd.
Has anyone come up against this problem. If so is there a solution or otherwise
what am I doing wrong.

thanks for your help.
dave