- From: <Noah_Mendelsohn@lotus.com>
- Date: Wed, 30 Aug 2000 15:32:45 -0400
- To: Murata Makoto <mura034@attglobal.net>
- Cc: www-xml-schema-comments@w3.org
I do not see why defaulting of a potentially localized value (red vs. rouge) is particularly more troublesome than defaulting some other value (1.0 vs. 2.5). If you mistakenly switch schemas and get the wrong value, you are in big trouble either way. I don't think this has anything specifically to do with internationalization. To reiterate a point that has been made before in public discussions, the flexibility provided by the proposed schema design reflects the use of validation as a service to the receiving application as well as to the originator of the document. Consider the example of a purchase order document sent to a secure site that provides commerce services. The site is documented (perhaps on a web page at its side, perhaps using some other means) as accepting purchase orders corresponding to the schema (http://commercesite.com/purchaseOrder.xsd) for the target namespace http://commercesite.com/purchaseOrder. Now, let's say I send them a purchase order that looks like this: <purchaseOrder xmlns="http://commercesite.com/purchaseOrder" xmlns:xsd="..the usual.." <!-- Noah says: use my bogus schema instead --> xsd:schemaLocation="http://commercesite.com/purchaseOrder http://donttrustme.com/purchaseOrder.xsd"? ... contents of purchase order here... </purchaseOrder> Surely this high-volume commerce site does not want to validate against some schema that I made up for their namespace; on the contrary, it probably does not even wish to open a connection back to my site. Furthermore, the fact that my document validates against my schema is of almost no use to the receiving application The XML schemas design allows the implementor of the commerce site to acquire and use conforming processors that implement policies according to his or her needs. For example, the processor could completely ignore the schemaLocation hint. Alternately, it could check the supplied location and register, noting that the user has explicitly called for a schema not known to match the required one. Indeed, the commerce site might enforce a convention that xsd:schemaLocation must be supplied, and must match the expected schema; the site could buy or build processors that would do the required checking, or could do it in the application above the processor. Eventually, conventions might be developed for creating checksums to govern only the schema constructions overtly affecting content, or other semantics of the schema as well. This could be done as an industry standard, or privately within some particular community of XML users. The point is that the current schema design allows one to build conforming processors that support all of these usage models. If you and the people you work with wish to rely on xsd:schemaLocation, then by all means document its use as mandatory for your applications, and insist that people building such applications use processors that unconditionally follow the xsd:schemaLocation. That behavior too is supported by the draft. Note that XML schemas intentionally avoids specifying a fixed API for invoking processors. When and if such a standard is undertaken, processors will become more plug compatible. Such a standard will need to account for common conventions for locating and checking schema documents, such as the ones discussed above. Default values are not the only aspects of the schema that potentially cause trouble. Let's say that two schemas were constructed for the same namespace: the first one typed and attribute ATR as integer, the second one type the same attribute as string. Now let's imagine a future version of XSL that uses an XPath extension to match on integers and format all of them in italics. Clearly, the formatting of the results will depend on the version of the schema that was used. So, various communities will indeed want to adopt standards and conventions for locating and identify schema documents; xsd:schemaLocation is a tool that will be useful to some of them. After long debate, the schema workgroup came to the conclusion that providing flexibility to meet the needs of different applications and processors would allow our specification to be used in far broader range of circumstances that would otherwise have been the case; we did that with full understanding that default values and other information set contributions must be treated with care. ------------------------------------------------------------------------ Noah Mendelsohn Voice: 1-617-693-4036 Lotus Development Corp. Fax: 1-617-693-8676 One Rogers Street Cambridge, MA 02142 ------------------------------------------------------------------------
Received on Wednesday, 30 August 2000 15:35:23 UTC