RE: feedback: AppInfo attribute + include and relative references

> -----Original Message-----
> From:	Morten M. Christensen [SMTP:mmc@mortench.net]
> Sent:	Tuesday, July 25, 2000 6:23 AM
> To:	www-xml-schema-comments@w3.org
> Subject:	feedback: AppInfo attribute + include and relative
> references
> 
> Dear Sirs,
> 
> Great work on schemas. I have worked extensively with the April draft
> and various schema tools now for a while and I have some feedback.
> 
> 1) Attribute AppInfo needed for modeling and metamodeling!
> 
> When creating datamodels used by automated tools which work on the model
> level, I need to be able to easily attach custom meta information to all
> kind of schema elements, including (but not limited to) simpleType,
> complexType and enumeration. As I understand it, the AppInfo element
> allows users to attach meta information to most constructions but NOT to
> individual elements in a construction like "enumeration" in the example
> below. This is what I need!!!
> 
<xsd:annotation> (and hence, <xsd:appinfo>) is allowed in the content of
<xsd:enumeration>; in fact, it is allowed in all data type facets, as well
as all schema components from Part 2.  In particular,

<xsd:complexType name="Type" base="xsd:string" derivedBy="extension">
  <xsd:annotation>
   <xsd:documentation>General high level ressouce types. Nb. Superceded
element values will typically be shown in RED in the model
visualization</xsd:documentation>
  </xsd:annotation>
  <xsd:enumeration value="DATASET"/>
  <xsd:enumeration value="DATASET-DATABASE"/>
  <xsd:enumeration value="DATASET-MAP">
	<xsd:annotation>
		<xsd:appInfo>GX_DEFAULT</xsd:appinfo>
	</xsd:annotation>
  </xsd:enumeration>
  <xsd:enumeration value="DATASET-TABLE">
	<xsd:annotation>
		<xsd:appInfo>SUPERCEDED</xsd:appinfo>
	</xsd:annotation>
 </xsd:enumeration>
  ....
 <xsd:complexType>

For more details, see [1] and [2].

> 2) I absolutely NEED relative includes - It is unclear to me if they are
> allowed:
> 
> For example:
> 
> I am developing a datamodel which consist of one main schema file and
> several include files. They all fit together, but is seperated in
> several files to make the whole thing modular and easier to get an
> overview of. This means that the main file has several statements like:
> 
> <xsd:include schemaLocation="HumanLanguage.xsd"/>
> 
> Currently all files are placed in the same directory on my hard drive
> and I fully expect that this will be the case in the future too. Thus,
> providing a complete path or absolute URL would be quite awkward since
> it would require me to update my source files as I move the schema files
> around in various release directories and maybe later place them on the
> Web. - Clearly, relative specification of the path/url of the file is
> what I need. Unfortunately, all current examples and text which I have
> looked at uses absolute urls and tools does not appear to support
> anything else. The specification mentions that relative uri's are
> possible but I would like to be absolutely sure that this will address
> what I need?
> 
From section 6.2.1 of Part 1: Structures [3],

	A schema information item may contain any number of include
elements. Their schemaLocation attributes, consisting of a URI reference,
identify other schema documents, that is schema information items.

where URI Reference is defined in Part 2: Datatypes [4] as:

	uriReference represents a Uniform Resource Identifier (URI)
Reference as defined in Section 4 of [RFC 2396]. A uriReference may be
absolute or relative, and may have an optional fragment identifier.

So, yes, relative URIs are allowed in <xsd:include schemaLocation='...'/>.
Existing tools which do not support them are in error.

pvb

References
[1] http://www.w3.org/TR/xmlschema-2/#xr-enumeration
[2] http://www.w3.org/TR/xmlschema-1/#element-annotation
[3] http://www.w3.org/TR/xmlschema-1/#element-include
[4]
http://www.w3.org/TR/2000/WD-xmlschema-2-20000407/datatypes.html#uriReferenc
e

Received on Tuesday, 25 July 2000 11:25:25 UTC