Re: Confusion regarding notation processing

Paul Prescod (papresco@technologist.com)
Thu, 01 Oct 1998 09:35:37 -0500


Amit Rekhi wrote:
>
> <?xml version="1.0" ?>
> <!DOCTYPE start-ele [
> <!NOTATION MyFormat SYSTEM "MyFormatProcessor.exe">
> <!ENTITY MyEnt SYSTEM "MyFormatData.txt" NDATA MyFormat>
> <!ELEMENT start-ele EMPTY>
> <!ATTLIST attr-for-notation ENTITY #REQUIRED>
> ]>
> <start-ele attr-for-notation=MyEnt />
>
> When a VALIDATING xml processor will start processing the above, will it
> only pass
>
> * Notation name (MyFormat in above case)
> * Notation System Identifier (MyFormatProcessor.exe)
> * Entity systm. identifier (MyFormatData.txt)
>
> to the application (on behalf of which the xml processor is validating) , or
> is it also expected to pass the non XML data file(MyFormatData.txt) to it's
> related process (MyFormatProcessor.exe) and initiate the processing?

I don't think that the XML spec. is very specific about the
responsibilities of processors, but the convention in both the SGML and
the XML worlds is to pass the information you describe *from the XML
document* and let the application handle the actual fetching and
processing of the data. Personally, I do not think it is a good habit to
point to an executable as the system identifier of a notation. Every
notation has an potentially unbounded list of apps that can work with it:
printers, renderers, COM components, Java beans, etc. etc. Which one would
you put in the system declaration?

Paul Prescod - http://itrc.uwaterloo.ca/~papresco

Bart: Dad, do I really have to brush my teeth?
Homer: No, but at least wash your mouth out with soda.