We're calling on all EU-based Mozillians with iOS or iPadOS devices to help us monitor Apple’s new browser choice screens. Join the effort to hold Big Tech to account!

This site will have limited functionality while we undergo maintenance to improve your experience. If an article doesn't solve your issue and you want to ask a question, we have our support community waiting to help you at @FirefoxSupport on Twitter and/r/firefox on Reddit.

ابحث في الدعم

Avoid support scams. We will never ask you to call or text a phone number or share personal information. Please report suspicious activity using the “Report Abuse” option.

Learn More

How does Firefox handle xml:base when generating GET requests for SVG image elements?

  • 1 (رد واحد)
  • 1 has this problem
  • 6 views
  • آخر ردّ كتبه cor-el

more options

I am loading an SVG image at the following URL:

http://localhost/howl/svg/id/543

The source for this SVG code is:

<svg xml:base="/howl/">

 <svg width="535" height="325" xmlns="http://www.w3.org/2000/svg"

xmlns:xlink="http://www.w3.org/1999/xlink">

   <image xlink:href="file/id/532" />
 </svg>

</svg>

As you can see, the SVG code is located at one path, but the <image> is relative to the root, hence the wrapping xml:base attribute.

The actual requests in Firefox, according to Tomcat Logging are:

GET /howl/svg/id/543 GET /howl/file/id/532

However, Firebug's Net tab shows these requests:

GET /howl/svg/id/543 GET /howl/svg/id/file/id/532 (Incorrect, doesn't happen) GET /howl/file/id/532

When I test the same thing in Safari and Chrome, all three GET requests actually happen, the incorrect one resolving in a 404.

I suspect that Firefox is generating all three requests, but discarding the incorrect one and Firebug is not aware of this. As a result, Firebug shows all three requests, but the incorrect one never resolves.

So, I'm curious about the behavior or whether I am doing this incorrectly.

Thanks!

I am loading an SVG image at the following URL: http://localhost/howl/svg/id/543 The source for this SVG code is: <svg xml:base="/howl/"> <svg width="535" height="325" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <image xlink:href="file/id/532" /> </svg> </svg> As you can see, the SVG code is located at one path, but the <image> is relative to the root, hence the wrapping xml:base attribute. The actual requests in Firefox, according to Tomcat Logging are: GET /howl/svg/id/543 GET /howl/file/id/532 However, Firebug's Net tab shows these requests: GET /howl/svg/id/543 GET /howl/svg/id/file/id/532 (Incorrect, doesn't happen) GET /howl/file/id/532 When I test the same thing in Safari and Chrome, all three GET requests actually happen, the incorrect one resolving in a 404. I suspect that Firefox is generating all three requests, but discarding the incorrect one and Firebug is not aware of this. As a result, Firebug shows all three requests, but the incorrect one never resolves. So, I'm curious about the behavior or whether I am doing this incorrectly. Thanks!

All Replies (1)

more options

A good place to ask questions and advice about web development is at the mozillaZine Web Development/Standards Evangelism forum.
The helpers at that forum are more knowledgeable about web development issues.
You need to register at the mozillaZine forum site in order to post at that forum.

See http://forums.mozillazine.org/viewforum.php?f=25