W3C home > Mailing lists > Public > xmlschema-dev@w3.org > July 2004

Re: include the same schema file more than once

From: Jeni Tennison <jeni@jenitennison.com>
Date: Sat, 17 Jul 2004 10:36:44 +0100
Message-ID: <917587421.20040717103644@jenitennison.com>
To: "Tolkin, Steve" <Steve.Tolkin@FMR.COM>
Cc: xmlschema-dev@w3.org

Hi Steve,

> Suppose an XML Schema uses <xs:include> to include other schema files.
> (These in turn may also include schema files.)
> As a result, some schema files might be included more than once. 
> Q1. Is this valid according to the XML Schema specification?

Yes. See the note at the end of Section 4.2.1 of the XML Schema Rec
(http://www.w3.org/TR/xmlschema-1/#compound-schema), which says:

  NOTE: The above is carefully worded so that multiple <include>ing of
  the same schema document will not constitute a violation of clause 2
  of Schema Properties Correct (3.15.6), but applications are
  allowed, indeed encouraged, to avoid <include>ing the same schema
  document more than once to forestall the necessity of establishing
  identity component by component.

> Q3. Is anyone aware of a tool that will "expand" a schema?
> This tool would process all the include (and ideally also import)
> statements in a schema, producing a single schema file as output
> that has no redundant includes and no redundant type definitions.

You can't resolve imports since XML Schema's XML syntax is
specifically designed such that each namespace must be described in a
different document. You could resolve includes using XSLT, though it's
not particularly straight-forward given that you need to avoid
circular includes and provide for the fact that imports/redefinitions
have to come first in the schema (which necessitates two passes over
the include tree)...



Jeni Tennison
Received on Saturday, 17 July 2004 05:36:58 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 23:15:22 UTC