Re: PIFLE (was Re: Are PIs useful?)

> From: Bert Bos <bbos@mygale.inria.fr>

>    1. "I don't use PIs myself and I recommend everybody not to use
>       them" (most people)

People now only use PIs if their target application uses them. So, unless they use
an Adept product, most SGML people don't have experience of them. For example,
I have used OmniMark a lot, and never seen a PI being used.
 
Also, as I have said, because PI internal lexical rules are undefined,
you have to do extra work in your scripts to use them. So there is 
a disincentive to use them even when they might be appropriate.

>    2. "PIs have no place in XML" (e.g., Charles Goldfarb: "In fact,
>       XML should forbid PIs anywhere in the document instance
>       regardless of RE handling. The style sheet should handle all
>       processing."
>       <http://lists.w3.org/Archives/Public/w3c-sgml-wg/msg01643.html>)

I think this was in the context of how much of SGML can be peeled away
without causing a flood of tears.

>    3. Rick Jelliffe's PIFLE: "... So a PI looks more like an element
>       start-tag"
> 
> I think Rick has identified the problem correctly, and has given half
> the solution. Just one step further and PIs *are* elements.

Because the whole idea is to let elements signify structures that are
interesting for navigation and meaning, and to have a different form of markup
for accidental things, like once-off medium-dependent procedures.

Possible element structure are declared at the doctype declaration.
PIs are not constrained so, and I don't know if much would be gained
by attempting to constrain them. 

I hope we can avoid having the discussion degenerate into the usual
cop-out that happens at this point, where someone says that there is
no difference between all the different types of markup, that everything 
you can do with PIs you can do with entities, and that everything you
do with entities you can do with element structure, etc. ZZZZZ    Or that GIs
are just another attribute. Even though all that may (or may not) be true, 
my point is that identification of type has a primacy of place in SGML.

The dividing of types between elements, notations (& entities), and processing
instructions supertypes (by giving these different delimiters and scoping
rules) reveals the importance of type.  I can't see any reason why processing
instructions, wouldn't be most flexible served by
requiring an element-like lexical structure.  So rather than
	<?newline?>  
i.e. a processing instruction that applied everywhere, we could have
	<?PDF-hint  pagesize="A4"  pi="newline"?>
i.e. a processing instruction that signalled its notation and gave media-dependent conditions for its use (e.g. the above PI might
only apply when the page size
was A4).  

I am not championing point PIs over high-level functions applied to type-tagged 
documents. Please don't get me wrong!  However, if we provide PIs we should
make them hygenic and useful, which is why I am proposing PIFLE.

The more processing of documents is divided between clients and servers,
the more there needs to be an in-band communication of processing information
between servers and clients. Which is what PIs do.

> So how is it possible that PIs are still in the draft? I think that
> all the people that said "I don't use them..."  thought that there
> actually were other people that did. And nobody asked for a show of
> hands.

Perhaps because many people (me too, incidentally), having successfully
not used PIs, realise that it is just an accident of the tools and jobs they have
done, and that others in the same industry use them all the time.

Rick Jelliffe

Received on Thursday, 15 May 1997 10:48:33 UTC