XML Schema tweaks

There were a Few Holes.

Literals could not use abbreviated IRIs for datatypes. I.e.,  
"xs:integer"

	<Literal datatypeIRI="xs:Integer">0</Literal>

would not expand, even with the appropriate prefix declaration.

I've change it to use the IRI/abbreviatedIRI syntax, e.g.,:

	<Literal abbreviatedIRI="xs:Integer">0</Literal>

Note that this is a *slight* infelicity, as the abbreviated IRI is  
not the *name* of the Literal.  But I don't think IRI just means  
"name", it means "IRI". As an attribute on an entity, it names that  
entity. As an attribute on a Literal, it types the literal.

Another solution would be to have predefined entities for our builtin  
types. E.g., &integer;. These would be recognized automatically but  
also could be handled in legacy apps with a dtd.

I've started to include descriptive comments:
	  <!-- Note that the "Entity" group does not have a corresponding  
abstract type.
        This is due to the fact that XML Schema 1.1 does not support  
multiple inheritence.
        "owl:Class" is both an entity and a class expression. The  
authors of this schema
        determined it was more useful to be able to retrieve  
"owl:Class" in such queries
        as schema(*, owl:ClassExpression).
         -->

Some of these would probably make more sense as annotation elements.  
E.g., see the examples:
	http://www.webreference.com/authoring/languages/xml/schemas/chap1/3/

I think it would very nice to link to associated parts of the Syntax  
document.

As this doesn't affect the set of legal XML documents, and thus could  
be considered editorial, I'm mostly pushing that off in favor of bug  
fixes.

Cheers,
Bijan.

Received on Wednesday, 8 April 2009 14:20:49 UTC