ietf-xml-mime
[Top] [All Lists]

Media typs and XPointer, XLink, XPath, and XSLT

1999-07-12 22:07:59
Paul Grosso wrote:

I'm not nearly an expert in this area as you are, so I'm a bit 
nervous answering, but I'm the one that has been championing that 
language in XPointer (and XLink) based on an understanding of things 
that is different from what you say above.

Thanks for your flattering comments, but I am not a real expert.  Probably 
nobody know all of XLink, XPointer, XML, MIME, conneg, SMTP, 
HTTP, etc.  I certainly do not, as You and Tim proved.

Just in case some participants do not know XLink, XPointer, XSLT, 
and XPath, let me give a very rough overview.  XPointer allows you to say 
"Give me the second <Para> of the third <Section> of this XML document".  
Since XPointer is a string, you can use it as a fragment identifier.

XLink provides allows you to specify links with XML elements.  Such 
links may use XPointer to specify ends of links.  But XLink can also 
reference to non-XML data.  Thus, even if a link is expressed in XLink, 
we do not really know whether its ends are XPointer or not.  As a special case, 
if bare names are used as fragment identifiers, they are interpreted as HTML 
fragment identifiers or XPointer depending on the media type.   Since the 
semantics of bare name XPointers is identical to that of HTML fragment 
identifiers, 
this flexibility does not cause any problems.

XSLT is a transformation language which transforms XML to XML or HTML.  
An XSLT stylesheet often contain rules such as "For each <para>, generate 
a <p> element" or even "For each <para> below each <section>, generate ...".
Thus, XSLT needs something similar to XPointer.  XPath was created to 
capture common mechanisms between XSLT and XPointer.  XPointer and XSLT can 
be considered as extensions of XPath.

Unlike XPointer, neither the XPath nor XSLT specification mention media 
types text/xml and application/xml.   This looks reasonable, since the XSLT 
engine just knows that it is transforming XML.

Note: there is an issue about "Multiple Source Documents" of XSLT.  The 
subsection for the "document" function has an interesting issue as below:

        Issue (document-media-type): What are legal media types for the 
        resource referenced by document()? For example, what happens if 
        referencing the URI returns data with media type text/plain?

Having finished my summary, I have one question for clarification.  Did the 
XML Linking WG want to use XPointer only when the media type is text/xml or 
application/xml?  Or, did they want to use XPointer for other xml-based media 
types, but give up simply because the current media type mechanism cannot 
specify "This is of the media type "model/foo" which is based on XML"?

Cheers,

Makoto
 
Fuji Xerox Information Systems
 
Tel: +81-44-812-7230   Fax: +81-44-812-7231
E-mail: murata(_at_)apsdc(_dot_)ksp(_dot_)fujixerox(_dot_)co(_dot_)jp