- From: Paul Grosso <pgrosso@arbortext.com>
- Date: Thu, 21 Jul 2005 12:24:46 -0400
- To: <public-xml-core-wg@w3.org>
By the way, a discussion (including members of the
HTML CG and XML CG) of this thread is occurring; see
http://lists.w3.org/Archives/Member/w3c-xml-cg/2005Jul/
starting at message 0015 (July 20th).
paul
> -----Original Message-----
> From: public-xml-core-wg-request@w3.org
> [mailto:public-xml-core-wg-request@w3.org] On Behalf Of Paul Grosso
> Sent: Wednesday, 2005 July 20 14:26
> To: public-xml-core-wg@w3.org
> Subject: FW: Stylesheet PI etc
>
>
> Here is the email from Chris about the
> stylesheet PI's use of fragment identifiers.
>
> Technically, the XML CG hasn't yet passed this
> on to the XML Core WG, but it seems to make
> sense to start discussion on it.
>
> paul
>
> -----Original Message-----
> From: w3c-xml-cg-request@w3.org On Behalf Of Chris Lilley
> Sent: Wednesday, 2005 July 20 12:45
> To: w3c-xml-cg@w3.org
> Cc: Hypertext CG
> Subject: Stylesheet PI etc
>
>
> Hello w3c-xml-cg,
>
> The problem under consideration is the interpretation of the type
> attribute on an HTML lin rel="stylesheet", or type
> pseudo-attribute on a
> stylesheet PI, in the case where the URI includes a fragment
> identifier.
>
> <?xml-stylesheet href="A.xhtml#foo" type="text/css" ?>
>
> where A.xhtml is
>
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
> "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
> <head>
> <title>My commonly used style sheets</title>
> <style id="foo" type="text/css">
> p {color: red }
> </style>
> <style id="bar" type="text/css">
> p {color: blue }
> </style>
> </head>
> <body>
> <p>I'm just a placeholder.</p>
> </body>
> </html>
>
> The issue is that the media type of A.xhtml, returned by the
> server, is
> application/xhtml+xml. This would on the surface seem to
> contradict the
> type attribute. However, application/xhtml is not a
> stylesheet language
> and text/css does not define a fragment identifier syntax.
>
> I had initially tried to solve this using the concept of primary
> resource and secondary resource, as defined in AWWW:
>
> Two portions of the Architecture of the World Wide Web are
> crucial to an
> understanding of this issue. The first is that fragment
> identifiers are
> always interpreted in the context of the returned media type [0]:
>
> The semantics of a fragment identifier are defined by the set of
> representations that might result from a retrieval action on the
> primary resource. The fragment's format and resolution are therefore
> dependent on the type of a potentially retrieved
> representation, even
> though such a retrieval is only performed if the URI is
> dereferenced.
> If no such representation exists, then the semantics of the fragment
> are considered unknown and, effectively, unconstrained. Fragment
> identifier semantics are orthogonal to URI schemes and thus
> cannot be
> redefined by URI scheme specifications.
>
> The second is the concept of primary and secondary resources. The
> following definition of a secondary resource is found in both WebArch
> [1] and RFC 3986 [2]
>
> The fragment identifier component of a URI allows indirect
> identification of a secondary resource by reference to a primary
> resource and additional identifying information. The identified
> secondary resource may be some portion or subset of the primary
> resource, some view on representations of the primary resource, or
> some other resource defined or described by those
> representations. A
> fragment identifier component is indicated by the presence of a
> number sign ("#") character and terminated by the end of the URI.
>
> In the case of a stylesheet URI with a fragment identifier, the 'type'
> attribute can be said to indicate the type of the secondary resource.
> This is conformant with the TAG finding [3] that the media
> type returned
> by a server is authoritative and that metadata or hints on
> the link (eg,
> the type attribute on an HTML 'a' element) does not override this. The
> server authoritatively states the type of the primary
> resource, allowing
> the fragment identifier semantics to be determined, and the
> type of the
> secondary resource is given by the type attribute or pseudo-attribute.
>
> It is also important to note, again from WebArch [4]
>
> Any resource can be identified as a secondary resource. It
> might also
> be identified using a URI without a fragment identifier, and a
> resource may be identified as a secondary resource via
> multiple URIs.
>
> Thus, in the case of a link to a stylesheet which does not include a
> fragment identifier, the type attribute still identifies the secondary
> resource. In this case however, the secondary resource and the primary
> resource are the same.
>
> The same reasoning can be applied, for example, in the case
> of a script
> element which links to, rather than including, the script contents:
>
> A.svg
>
> <svg xmlns="http://www.w3.org/200/svg
> xmlns:x=:http://www.w3.org/1999/xlink"/>
> <script xml:id="foo" type="application/ecmascript">
> .... script here ...
> </script>
> </svg>
>
> B.svg
>
> <svg xmlns="http://www.w3.org/200/svg
> xmlns:x=:http://www.w3.org/1999/xlink"/>
> <script type="application/ecmascript"
> x:href="A.svg#foo"/>
> </svg>
>
>
> This resolution also has the nice property that the type of
> portions of
> a mixed namespace compound documents, such as [5] can be given using
> internet media types.
>
> Further discussion showed some problems. A#foo points (in the case of
> a style element, a script element, etc) to an entire element,
> not to the
> content of that element.
>
> Use of the type attribute in this way is not consistent with the
> Internet Media types (MIME) specification. The style element has an
> attribute that says it is text/css and yet the server is authoritative
> and the server says the whole thing is text/html.
>
> Some people (such as Bert Bos) feel that the stylesheet PI should only
> ever be used to point to an entire stylesheet (similarly for
> pointing to
> an entire script, etc) - perhaps because current HTML
> browsers will not
> follow a PI that points to the style element in another document.
>
> Steven Pemberton said that @type on <style> is clearly meant to
> identify the style language, and @type on <a> is clearly meant to
> represent the media type of the resource (before applying the fragment
> identifier), but @type on <link rel="stylesheet"> wants to play both
> roles. Its needed role on <?xml-stylesheet?> however seems to be to
> identify the style language, not the resource.
>
> Al Gilman stated that sometimes the data of interest is an attribute
> value on the pointed-to element, or even an indirected (tertiary?)
> resource (such as, what the src attribute on a given XHTML2 element
> points to) and was unwilling to consider a solution where only the
> element content was available. This was a requirement from
> WAI, that the
> element content and the resource obtained by dereferencing an
> attribute
> be seen as alternate contents:
>
> Why care? HTML WG has taken pains to let formats expose
> representation
> alternatives in a machine-understandable but client-controlled way
> through a cascade of nested elements each of which has an @src
> attribute. Like XML to SGML, this is a streamlining of the generic
> essence of what was the 'object' element heretofore. There
> has been a
> pretty consistent demand from the WAI (multiple working groups) for
> such a client-controlled mechanism for offering
> representation options
> (discussed sometimes as equivalent alternatives or conditional
> content). If the @src -referenced resource of the (outer)
> #fragment-indicated element were somehow off the table when
> the client
> chooses how to present some information, the whole solution would be
> broken.
>
> Meanwhile, the XHTML spec has solved the local issue by adding a new
> hreftype attribute to the style element as reported here: [6]
>
> However I do not see this reflected in the latest XHTML2 draft
> [7]
>
> The XML Stylesheet PI depends normatively on HTML 4, which is
> not being
> maintained, and thus any changes to XHTML 2 do not in fact affect the
> Stylesheet PI which would need therefore to be separately revised.
>
> The questions are
>
> a) Is the current type attribute authoritative
> b) Is it conveying the same info as the HTTP Media type of the primary
> resource
> c) Are fragments allowed in the URI (note that changes from
> RFC 2396 to
> RFC 3986 mean the fragment is now seen as part of the URI
> d) If fragments are allowed, does a different attribute need
> to be added
> to define the type of the secondary resource, or not
> e) If it is desired to point to attribute content and element content,
> how should this be done (XPath?)
>
> [0] http://www.w3.org/TR/webarch/#media-type-fragid
> [1] http://www.w3.org/TR/webarch/#fragid
> [2] http://www.ietf.org/rfc/rfc3986.txt section 3.5
> [3] http://www.w3.org/2001/tag/doc/mime-respect.html
> [4] http://www.w3.org/TR/webarch/#fragid
> [5] http://www.w3.org/TR/2002/WD-XHTMLplusMathMLplusSVG-20020809/
> [6]
> http://lists.w3.org/Archives/Member/w3c-html-cg/2005AprJun/0033.html
> [7] http://www.w3.org/TR/xhtml2/mod-styleSheet.html#s_styleSheetmodule
>
> --
> Chris Lilley mailto:chris@w3.org
> Chair, W3C SVG Working Group
> W3C Graphics Activity Lead
>
>
>
>
Received on Thursday, 21 July 2005 16:26:13 UTC