Lists Home |
Date Index |
- From: "W. Eliot Kimber" <firstname.lastname@example.org>
- To: <email@example.com>
- Date: Wed, 08 Jul 1998 21:57:39 -0500
At 09:59 PM 7/8/98, Peter Murray-Rust wrote:
>What automatic mechanism is available for finding a document at the end of:
>Is there a set of maintained FPI servers like DNS? Because if not, an FPI
>isn't very useful to me.
You would use the same mechanism you use for SGML normally: some sort of
catalog file, such as the SGML Open catalog, which is supported by all the
SGML tools I use. E.g.:
-- Catalog file --
XML doesn't specify such a mechanism any more than SGML does, because the
facility is too general. It would be entirely appropriate and useful for
the Web community to define such a mechanism (perhaps by accepting SGML
Open catalogs for this purpose generally--it's certainly a
well-established, widely-implemented convention).
This is identical in function to the MIME mapping file discussed not too
long ago. You always have to have some sort of local mapping between data
types and the software you want to use to manage them.
Alternatively, you could just use a URL (I use FPIs because I'm an SGML
wonk and because I live in a world that includes more than the Web :-):
<!DOCTYPE MyDoc [
As Dan C. and TimBL have pointed out, a URL can be just as persistent as a
URN (or FPI) if the maintainer of the resource causes it to be, so there's
no reason not to use it as an identifier if you have confidence in its
>>When this document is processed, a processor can see that there is a
>>notation attribute (that is an, attribute whose data type is "NOTATION"; by
>>convention we normally use the attribute name "notation" as well, but
>>that's not required). It knows by the rules of XML/SGML that the named
>>notation governs the interpretation of the element. It looks up the
>>and could be anything--you can't depend on authors using the string
>Agreed. Is there a generally agreed way of writing portable code to do this?
It's just a lookup table where the left hand side is whatever part of the
external ID for the notation you have or prefer (if you have both a public
and system identifier). I'm not sure what you mean by "portable".
>>It sees that there is a dll function or plug in or module or COM object or
>>JavaBean associated with that name and passes the element to it (presumably
>How does it do this (algorithmically)? This is the key question to which I
>have been trying to get an answer - (although I want Java classes rather
>than *.COM or *.dll which are platform-dependent).
Again it's a lookup table. In PHyLIS (www.phylis.com), I have code that
registers ActiveX controls by the public ID or notation name (as a backup)
for the notations they can operate on. The registration function just
builds a lookup table that can resolve a string to a pointer to an ActiveX
object. To call the right processor, I use the notation information to look
up the processor and call the appropriate method of the object at the end
of the pointer. Should work the same way in a Java context.
>The advantage of MIME types is that there is a well-defined mechanism in
>current software for associating MIME types with software.
I think you need to qualify this statement--I use a lot of software that
does not have any MIME awareness. It may be the case that Web-specific or
Web-aware tools do, but that's not all tools.
AFAIK there is
>no generally agreed and implemented mechanism for associating FPIs with
I don't think it's an issue of associating FPIs with software, it's an
issue of associating notations with software. You could probably use the
existing MIME mechanism by treating the notation external ID as a MIME type
(assuming the software doesn't enforce some sort of syntactic constraints
on MIME types, which I can't see any point in, as they're just identifiers).
In any case, I'm not sure it's a fair question because the only generalized
XML tools I'm aware of are either parsers, which wouldn't do this anyway
(it's not their job) or SGML applications that already have such a
mechanism. I don't know of any general-purpose XML-only applications in
which this would be relevant (either because it's something they just
wouldn't do by the nature of their purpose or because they're not
Certainly PHyLIS stands as a minimal example of how it might done. Because
I wrote it in VB, it fails your platform independent requirement, but if I
rewrote it in Java, it would meet all your requirements.
If somebody wanted to write the two-page spec for the mechanism, I'd be
happy to learn Java sufficient to write a reference implementation.
W. Eliot Kimber, Senior Consulting SGML Engineer
ISOGEN International Corp.
2200 N. Lamar St., Suite 230, Dallas, TX 75202. 214.953.0004
xml-dev: A list for W3C XML Developers. To post, mailto:firstname.lastname@example.org
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:email@example.com the following message;
To subscribe to the digests, mailto:firstname.lastname@example.org the following message;
List coordinator, Henry Rzepa (mailto:email@example.com)