Re: PIs considered harmful Was: XML-SW, a thought experiment

 Eliotte, Norm,
 I do agree that you should not try to change the DocBook schema. 

 What I don't agree with is that processing instructions are 
necessary for adding what I see as local processing information.

 Currently, you have two options other than using PIs:

 1) add the processing information in the original document as 
elements and attributes and admit that by extending the original 
document in ways the original schema does not permit you are 
creating a different type of document (with a different schema - 
but that different schema need not be actually written anywhere 
or validated against),

 2) put the processing information out of band (this is
preferable anyway because simple changes in the original document
may not affect the processing information but should be
validated).

 You seem to want other processors to be able to ignore your
stuff without harm, but why is the information there if it does
not affect the processor? You seem to assume that every other
processor will ignore your PIs. How do you *know* that the other
processor will not mistakenly process your PIs with unwanted side 
effects? As noted before, there is as yet no common namespacing 
mechanism for PIs.

 So to summarize my problems with PIs:

 a) it is not clear what an unknown PI refers to;
 b) PIs are not namespaced;
 c) PIs induce subtle assumptions that are wrong - it is
percieved that using PIs a local information can harmlessly be
sent into the world.
 d) PIs have funky syntax; (matter of taste, of course)
 e) while generally not atomic, PIs are atomic to the XML
processor (as opposed to comments which are generally atomic).

 Best regards,

                   Jacek Kopecky

                   Senior Architect, Systinet (formerly Idoox)
                   http://www.systinet.com/



On Wed, 13 Feb 2002, Elliotte Rusty Harold wrote:

 > At 4:40 PM +0100 2/13/02, Jacek Kopecky wrote:
 > >  Norm,
 > >  had the DocBook schema been designed to allow for arbitrary
 > >extensibility in an other namespace, the added element (or
 > >attribute) would be the solution. Look at HTML - it ignores
 > >unknown tags. In XML we could ignore unknown elements from
 > >unknown namespaces _and_ their contents as well, of course.
 > >
 > 
 > Consider this position not from the perspective of Norm, who wrote 
 > most of the DocBook DTDs and stylesheets, but from my perspective, an 
 > interested user but one who hasn't had any real involvement ion the 
 > development of DocBook. Can I change DocBook to make it more 
 > extensible to arbitrary namespaces? Should I? Should I have to to be 
 > able to add my own unique processing information to my own DocBook 
 > documents?
 > 
 > Processing instructions are necessary because we need to add this 
 > information to documents written in XML vocabularies we do not 
 > control and cannot change. Perhaps schema languages should be written 
 > in a more permissive fashion so that they automatically allow 
 > anything from other namespaces. Everything not forbidden is 
 > permitted. However, that is not how either DTDs or the W3C XML Schema 
 > Language is written. Consequently we need processing instructions.
 > 

Received on Wednesday, 13 February 2002 13:06:23 UTC