- From: Peter Flynn <pflynn@curia.ucc.ie>
- Date: 06 Nov 1996 08:54:53 +0000 (GMT)
- To: www-html@w3.org
Joe writes: > This content model prohibits intermingled METAs and LINKs > (<META><LINK> <META><LINK>...) -- the AND group requires that > all the META elements appear together, all the LINK elements > appear together, etc. That's quite correct: I saw no need for them to be randomized. > There are a number of conventions for metadata in HTML > (such as the Dublin Core scheme) that use intermingled > METAs and LINKs, so this is a fairly important issue. I wasn't aware of this -- thanks for pointing it out. I thought DC deprecated LINK, though. Easily fixed but I don't see the advantage in allowing the title to be in among the repeatable elements, although I can see the argument for the interspersability of the non-repeatable elements if you want the average neophyte user to be able to add anything anywhere (or have I missed something else?). Personally I'd prefer to maintain TITLE in pole position (ideally followed by BASE, then %head.any; and then the rest, but I'm not too concerned about that sequence). > The best solution I was able to come up with was: > > <!ENTITY % head.any -- repeatable HEAD elements -- > "(META | LINK | SCRIPT | STYLE | RANGE)*" > > > <!ELEMENT HEAD - - > ( %head.any; , > ( (TITLE, %head.any;) > & (BASE, %head.any;) ? > & (ISINDEX, %head.any;) ? > & (NEXTID, %head.any;) ? > & (BGSOUND, %head.any;) ? ) ) > > > > (This might be a bitch to specify using Near&Far though :-) No, just get it to Import it from the ASCII DTD. I run the thing through N&F to validate and let me view the structure, but the master copy is maintained in ASCII :-) > Another solution, which is what Dave Raggett used for > HTML 3.2, is to make the "%head.any;" elements an > inclusion exception on the HEAD element and an > exclusion exception on TITLE, SCRIPT, and other > non-empty subelements: > > <!ENTITY % head.any -- same as above but no '*' -- > "(META | LINK | SCRIPT | STYLE | RANGE)" > > > <!ELEMENT HEAD - O (TITLE & BASE & ...) +%head.any; > > <!ELEMENT TITLE - - (#PCDATA) -%head.any; > > <!-- etc. --> I'd prefer to exercise Occam's Razor at this point :-) > The exclusions are important; otherwise you can have > > <HEAD> > <TITLE>blah <SCRIPT>...</SCRIPT> blah </TITLE> > </HEAD> I can think of at least two browser makers who would love this. ///Peter
Received on Wednesday, 6 November 1996 03:53:15 UTC