Re: XHTML 1.0, section C14

David,

First, I want to apologize for the delay in responding to your 
question.  I see that some others have chimed in, and that's great!  
However, since I was one of the people who put C1 and C14 into the spec, 
I guess I should comment on this and the nature of Appendix C in general.

Remember that appendix C is *informative*, not *normative*.  It does not 
specify any requirements at all.  It is a collection of suggestions 
based upon real world experience.  Think of it as hints for creating 
well-formed, valid XML that should work in HTML user agents. If you have 
content that uses the features of XHTML described in the Appendix, using 
those features in the manner described should give you the best success 
rate in the real world.  Appendix C *is* referenced from section 5.1, 
but this does not make the contents of Appendix C requirements.  Rather, 
it says that you can use the text/html document type when serving XHTML 
1.0 documents, and if you do following the guidelines in Appendix C will 
increase the possibility that your document will be processed correctly 
by HTML user agents - to the extent that HTML user agents ever 
processing anything correctly, anyway ;-).

The XML PI suggestion in C1, for example, is there because certain 
broken user agents do stupid things when they see a PI.  An old user 
agent on the Mac, for example, would lose its little mind.  Another on 
Windows goes into "quirks" mode if it sees an XML processing 
instruction.  Yet another does content sniffing, so if there are too 
many PIs (or even whitespace!) at the front of a document before the 
DOCTYPE it has no idea how to process the document. It is up to you 
whether these risks are something you and your users are willing to live 
with or not.

To answer your real question though, the purpose of C14 is to 
demonstrate a mechanism that, if you choose to use it, can provide a 
pointer to your internal stylesheets that a generic XML processor will 
correctly interpret.  If you care about having your content processed as 
generic XML, then you can take advantage of this feature and still 
continue to use internal style sheets in your documents.  I would agree 
that this begs the question "what do I do about external stylesheets?" 
It is unfortunate that we did not touch on that, but the xml-stylesheet 
PI is certainly the correct way to reference external stylesheets as 
well if you need your documents to be processed by a generic XML processor.

You are correct that these two suggestions are at odds with one 
another.  This isn't intentional so much as it is a consequence of 
attempting to serve two very different audiences.  As a content author, 
you need to decide which audience you are dealing with.  You are also 
correct that having this advice in Appendix C is somewhat confusing.  It 
is really there because it is not normative, and also because it is a 
hint as to how to bridge the gap between XML processors and HTML processors.

Thanks for taking the time to present the issue.  I think this merits an 
errata just to clear up the purpose of Appendix C in general.  I have 
copied www-html-editor on this so that it will bet into the HTML Working 
Group issue tracking system and addressed.

Thanks again!


-- 
Shane P. McCarron                          Phone: +1 763 786-8160 x120
Managing Director                            Fax: +1 763 786-8180
ApTest Minnesota                            Inet: shane@aptest.com

Received on Tuesday, 21 November 2006 17:19:51 UTC