SVGT 1.2: SVG fragment identifiers

"When a source document performs a link into an SVG document via an  
HTML [HTML4] anchor element (i.e., <a href=...> element in HTML) or  
an XLink specification [XLINK], then the SVG fragment identifier  
shall specify the initial view into the SVG document, as follows:

●     If no SVG fragment identifier is provided (e.g, the specified  
IRI did not contain a "#" character, such as MyDrawing.svg), then the  
initial view into the SVG document shall be established using the  
view specification attributes (i.e., viewBox, etc.) on the 'svg'  
element.
●     If the SVG fragment identifier addresses any element , such as  
MyDrawing.svg#rectId), then the document defined by the rootmost svg  
element shall be displayed in the viewport using the view  
specification attributes on the rootmost svg element. "

Issues:

1) Are these points actually calling for different behavior? What is  
the difference between "the initial view into the SVG document shall  
be established using the view specification attributes (i.e.,  
viewBox, etc.) on the 'svg' element" and "the document defined by the  
rootmost svg element shall be displayed in the viewport using the  
view specification attributes on the rootmost svg element."? Those  
sound like they would be the same initial view to me. Therefore it  
seems like fragment identifiers that address any element have no  
effect have no effect.

2) Behavior is not defined for SVG fragment identifiers that do not  
address an element. This includes both bare names that do not address  
an element, and svgView()-style fragments. Perhaps the intended  
behavior is considered obvious, but the spec does not say what it is.

3) It is inappropriate for the specification to talk about specific  
mechanisms for accessling links in other languages. Consider some of  
these other mechanisms for accessing an IRI reference to an SVG  
document that includes a fragment identifier: type in location field,  
click link in external application that is not using any XML or HTML  
language for display, assign the window.location attribute via  
script, use window.open() in script, select bookmark or history item  
from menu. Instead of talking about what mechanisms in other  
languages should do, the spec should say what  the SVG implementation  
must when presented with an absolute IRI reference that includes a  
fragment identifier.

Regards,
Maciej

Received on Thursday, 29 December 2005 05:14:54 UTC