- From: Arjun Ray <aray@q2.net>
- Date: Sat, 16 Dec 2000 02:11:42 -0500 (EST)
- To: www-html@w3.org, www-talk@w3.org
On Tue, 12 Dec 2000, Sean B. Palmer wrote: >> If/when folks get comfortable with schemas and >> namespaces, we can drop the DTD gobbledygook at the top: Yeah, scary isn't it? Watch out for the Boogieman. >> <html xmlns="http://www.w3.org/1999/xhtml"> >> [...] This accomplishes precisely nothing, as was explained ad nauseum on the www-xml-sig list. (Isn't it *finally* time to make that archive public?) Instead of the handwaving with a URI of indeterminate (semantic) content, we can do better *with* the um, gobbledegook. It has the virtue of having been an international standard since 1986, and the incidental benefit that we know what's going on with each URI. 1. In the internal subset: <!-- Declare formal definition of a machine-processable format --> <!NOTATION XSchema SYSTEM "http://www.w3.org/2000/08/XMLSchema" > <!-- Declare an entity formulated in this *particular* format --> <!ENTITY xhtml-schema SYSTEM "http://www.w3.org/1999/xhtml/schema" CDATA XSchema > <!-- Enable a reference to this entity --> <!ATTLIST xhtml foo ENTITY #IMPLIED > 2. In the instance: <!-- Reference the entity, at the same time pinpointing which particular formalism was used --> <xhtml foo="xhtml-schema"> ... [I named the attribute 'foo' deliberately to make the point that the notation on the entity tells you all that you *need* to know: that a schema of some kind exists (as the contents of the entity) and also, much more importantly, which particular formal system it's encoded in. Given that, the mere name of the instance attribute need not be relevant. One *could* formalize it using a reserved name, i.e. using a 'xml' prefix, though.] As a matter of fact, with the new provisions in WebSGML TC, the entity declaration can be skipped in favor of a direct reference *as* the external subset <!DOCTYPE xhtml SYTEM "http://www.w3.org/1999/xhtml/schema" CDATA XSchema [ <!NOTATION XSchema SYSTEM "http://www.w3.org/2000/08/XMLSchema" > ]> But not quite yet in XML, admittedly. See K.4.10.3 in http://www.ornl.gov/sgml/sc34/document/0029.htm > Hopefully we will be able to say "when", but we all know that DTDs > aren't going to just "vanish". Denigration and disparagement have been known to work. Meanwhile, the idea is to poison as many things as possible with colonified names, just to make recovery more costly (and hence defered/avoided) - nothing like making a virtue out of um, "necessity". > I can't help remembering who *suggested* we put that "DTD > gobbledygook" at the top in the first place(!): Water under the bridge. We've all come a long way since then. > > I'm asking for one lousy attribute, > > xmlns="http://www.w3.org/1999/xhtml" > > I don't believe it will *be* just one lousy attribute, because > validating by namespace is only a very small part of the list of > options in the XML Schema specification. Yep. And that's only the beginning. > I agree that it may be the best way, but it's not the only way. > You will have to allow for xsi:SchemaLocation, which will bump up > the prologue aspect of validation again. You can't use "the file > gets smaller and simpler" as an excuse to use XML Schemas for > XHTML: instead use the fact that they have certain benefits over > XML DTDs. Not to mention that DTD syntax can be used to invoke the processing of schemas in reliable ways. See above. >> the HTML modularization spec shows you how to add your own module >> and mix it in with the standard modules. I don't care for that >> approach, With you there, but for different reasons:) >> because it's limited in all the ways that linking two C modules >> are limited: It's about time this overplayed (and bogus) analogy were put to sleep. >> one big unmanaged centralized namespace, no "first class" modules >> recognized by the compiler (the validator). A validator is not a compiler, because a validator is a recognizer, not a parser. >> But it has the virtue that existing validating XML processors >> can be used for validation. XML "validation" is useless. It's crippled in relation to SGML facilities, and even SGML has moved beyond the implicit assumption of an encompassing architecture. > I don't get your qualms there, "one big unmanaged centralized > namespace"? The "name clash" non-problem that SGML-bashers are still getting mileage out of. For a excellently written neutral presentation of the basic "problem", see, e.g. Q8.5 in the Namespaces FAQ http://www.rpbourret.com/xml/NamespacesFAQ.htm For a demonstration that the problem is illusory, using tools that have existed since before XML was invented, see http://www.nyct.net/~aray/sgml/demo/dept/ > It's a good approach. That way, instead of just declaring the > namespaces in a DTD and not using them, you don't have a DTD at > all and simply use the namespace to point to your Schema. Except it has the same problem as the STYLE attribute (and to a large extent, the STYLE and SCRIPT elements in HTML): an implicit assumption that there is only *one* "relevant" formalism. My prediction is that, just like SCRIPT and STYLE, in the future for XSchema lies the problem of "versions". For which, of course, yet another reserved attribute will have to be invented... And now, to really give the W3C folks heebiejeebies, may I suggest a perusal of this tutorial: http://www.isogen.com/papers/archintro.html I also by chance discovered in old directory on an old machine this piece by Eliot Kimber, a copy of which I can't locate elsewhere. http://www.nyct.net/~aray/notes/rdfarch.html (It was written in Aug 97, and references the 970801 draft of the RDF spec. It's mainly a source of ideas now, since the details have changed.) Enjoy! Arjun -- "The bottomline is that it is really difficult to solve a problem when the problem does not exist." - Masataka Ohta.
Received on Saturday, 16 December 2000 01:01:37 UTC