extending schemas using xs:import

Hi,

I am having problems extending some schemas (basically xhtml1-strict with some
modifications) using xs:import. The extending schema validates in XMLSpy v 4.4,
gives an error when trying to load in IE6/MSXML4:
----
Error:
http://localhost:8080/lsb/Schemas/content.xsd#schema[1]/element[position()=1 and
@name='article']/complexType[1]/complexContent[1]/extension[1]
Undefined <complexType>,
'{http://livestoryboard.com/lsb/Schemas/2003/03/xhtml1}Flow' is used as a base
type
----
and does not validate with msv-20020414 giving the following error:
----
start parsing a grammar.
reference to the undefined attribute group: "basic_links_attrs"
  50:69@http://localhost:8080/lsb/Schemas/content.xsd
  59:69@http://localhost:8080/lsb/Schemas/content.xsd
reference to the undefined attribute group: "attrs"
  34:45@http://localhost:8080/lsb/Schemas/content.xsd
  71:51@http://localhost:8080/lsb/Schemas/content.xsd
reference to the undefined complex type: "a.content"
  49:54@http://localhost:8080/lsb/Schemas/content.xsd
  58:54@http://localhost:8080/lsb/Schemas/content.xsd
reference to the undefined complex type: "Flow"
  33:37@http://localhost:8080/lsb/Schemas/content.xsd
  70:43@http://localhost:8080/lsb/Schemas/content.xsd
failed to load a grammar.
----
The extending schema looks like:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
  targetNamespace="http://livestoryboard.com/lsb/Schemas/2003/03/content"
  xmlns:xs="http://www.w3.org/2001/XMLSchema"
  xmlns:x="http://livestoryboard.com/lsb/Schemas/2003/03/xhtml1"
  elementFormDefault="qualified"
  version="1.0">

  <xs:import
    namespace="http://livestoryboard.com/lsb/Schemas/2003/03/xhtml1"
    schemaLocation="simple_types.xsd"/>
  <xs:import
    namespace="http://livestoryboard.com/lsb/Schemas/2003/03/xhtml1"
    schemaLocation="attributes.xsd"/>
  <xs:import
    namespace="http://livestoryboard.com/lsb/Schemas/2003/03/xhtml1"
    schemaLocation="inlines.xsd"/>
  <xs:import
    namespace="http://livestoryboard.com/lsb/Schemas/2003/03/xhtml1"
    schemaLocation="blocks.xsd"/>
  <xs:import
    namespace="http://livestoryboard.com/lsb/Schemas/2003/03/xhtml1"
    schemaLocation="lsb_blocks.xsd"/>
  <xs:import
    namespace="http://livestoryboard.com/lsb/Schemas/2003/03/xhtml1"
    schemaLocation="global_defs.xsd"/>
  <xs:import
    namespace="http://livestoryboard.com/lsb/Schemas/2003/03/xhtml1"
    schemaLocation="table.xsd"/>
  <xs:import
    namespace="http://livestoryboard.com/lsb/Schemas/2003/03/xhtml1"
    schemaLocation="lists.xsd"/>
  <xs:import
    namespace="http://livestoryboard.com/lsb/Schemas/2003/03/xhtml1"
    schemaLocation="form.xsd"/>

  <xs:element name="article">
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="x:Flow">
          <xs:attributeGroup ref="x:attrs"/>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>

...[snipped other content types (like article) that show in the msv-20020414
error msgs]...

</xs:schema>

The reference to the extension 'Flow' is in the blocks.xsd and it looks like:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
  targetNamespace="http://livestoryboard.com/lsb/Schemas/2003/03/xhtml1"
  xmlns:xs="http://www.w3.org/2001/XMLSchema"
  xmlns:x="http://livestoryboard.com/lsb/Schemas/2003/03/xhtml1"
  elementFormDefault="qualified"
  version="1.0">
...[snip]...
  <xs:complexType name="Flow" mixed="true">
    <xs:annotation>
      <xs:documentation>
      "Flow" mixes block and inline and is used for list items etc.
      </xs:documentation>
    </xs:annotation>
    <xs:choice minOccurs="0" maxOccurs="unbounded">
      <xs:group ref="x:block"/>
      <xs:element ref="x:form"/>
      <xs:group ref="x:inline"/>
      <xs:group ref="x:misc"/>
    </xs:choice>
  </xs:complexType>
...[snip]...
</xs:schema>

Can anybody see where I am going wrong?

Thank you very much for any help,
-Rob

Received on Thursday, 27 February 2003 11:34:53 UTC