Re: Question about Chameleon schemas

"Roger L. Costello" <costello@mitre.org> writes:

> [1] The two global components in the no-namespace schema are
> namespace-coerced to the <include>ing schema's targetNamespace, i.e, 
> 
>     {Absent}Book --> {http://www.library.org}Book
> 
>     {Absent}CardCatalogueEntry --> 
>           {http://www.library.org}CardCatalogueEntry

Correct.

> [2] The reference in the declaration of Book changes from:
> 
>    Book --> {Absent}CardCatalogueEntry
> 
> to
>    Book -->{http://www.library.org}CardCatalogueEntry

Correct

> Consequently, as long as the <include>ing schema's default namespace is
> the targetNamespace then Book's reference to CardCatalogueEntry will
> resolve correctly.  If the default namespace is XMLSchema then the
> reference will fail (since there is no CardCatalogueEntry in the
> XMLSchema namespace).

Incorrect.  At the point of chameleon include, namespace prefix
interpretation has happened on both documents.  Change the namespace
prefixes and declarations in your originals in any way you like, as
long as they individual schema doc's are still schema-OK, the merger
is OK.

> There is a statment in the spec which makes me a bit nervous.  In
> section 4.2.1 it has a Note which says:
> 
> "NOTE: As discussed in Missing Sub-components (§5.3), ˇQNameˇs in XML
> representations may fail to ˇresolveˇ, rendering components incomplete
> and unusable because of missing subcomponents. During schema
> construction, implementations are likely to retain ˇQNameˇ values for
> such references, in case subsequent processing provides a referent.
> ˇAbsentˇ target ˇnamespace nameˇs of such as-yet unresolved reference
> ˇQNameˇs in <include>d components **should** also be converted if clause
> 3.2 is satisfied."
> 
> As I read it, the last sentence here is saying that if an unqualified
> reference is made within the
> Chameleon schema then the namespace URI used in resolving the reference
> is the target namespace of the including schema.

Correct.

> What makes me nervous is that it says "should".  It does not say
> "must".  Am I to assume then that some implementations may not resolve
> unqualified references within the Chameleon schema to the target
> namespace of the including schema?

That's an editorial failure on my part -- I slipped in to ordinary
English there by mistake.  Goes on my list of errata -- it should be
'must' :-), and I hope implementors will treat it as such.

ht
-- 
  Henry S. Thompson, HCRC Language Technology Group, University of Edinburgh
          W3C Fellow 1999--2001, part-time member of W3C Team
     2 Buccleuch Place, Edinburgh EH8 9LW, SCOTLAND -- (44) 131 650-4440
	    Fax: (44) 131 650-4587, e-mail: ht@cogsci.ed.ac.uk
		     URL: http://www.ltg.ed.ac.uk/~ht/

Received on Saturday, 23 June 2001 04:45:37 UTC