RE: XML Schema compliance

Jeni,

> > What I mean is that the {element}, {schema}, etc. infoset components
> > are already defined in the http://www.w3.org/2001/XMLSchema. It is
> > assumed that the XML Schema processor "knows" about these infoset
> > components. Doesn't importing the Schema-for-Schemas redefine these
> > infoset components since the "name" and "namespace" properties match
> > for all the components? If this assertion is true, then importing
> > the Schema-for-Schemas shouldn't be allowed.
> 
> No, there's no confusion. The Schema-for-Schemas is a schema for the
> XML representation of the XML Schema language,, not the infoset-level
> schema components that they specify. The Schema-for-Schema defines
> things like "the <xs:element> element declaration schema components".
> The stuff that's built-in to an XML Schema processor is information
> about "element declaration schema components" *in*general*.
> 

I understand this. The XML Schema processor needs to know about the
"element declarations", the "type definitions" and so on. However, in
order to validate a schema that I am writing, like the following, it
needs to know about the structure of the <xs:element> (the instance as
you call it).

So, when I write

<xs:element name="foo" type="xs:string"/>

the processor knows what <xs:element> means.

By including

<xs:import namespace="http://www.w3.org/2001/XMLSchema" 
           schemaLocation="http://www.w3.org/2001/XMLSchema.xsd" />

in your schema, you introduce the xs:element type under the "type
defininitions" infoset component. This is fine. However, you also
introduce the xs:element element under the "element declarations"
infoset component, which already exists. Shouldn't xml schema processors
disallow this? 

Thank you very much for your patience with this :-)

.savas. 

Received on Saturday, 5 July 2003 07:06:46 UTC