Mam stronę HTML z tagiem <base>
, również zawierającą SVG. referencje tego samego dokumentu, takie jak poniżej w SVG następnie zawieść:Dlaczego odniesienie do tego samego dokumentu w SVG dotyczy znacznika HTML <base>?
<html>
<head>
<base href="http://my/server/basedir">
</head>
<body>
<svg>
<g>
<path d="M100,100 L150,150" id="path"/>
<text>
<textpath xlink:href="#path"/>
</text>
</g>
</svg>
</body>
</html>
Odniesienie xlink:href="#path"
nie rozwiąże. To działa dobrze bez elementu HTML base
. Działa również, gdy zastępuję atrybut href
na elemencie textpath
bezwzględnym IRI, po którym następuje identyfikator fragmentu.
Wydaje mi się, że SVG powinien traktować IRI tego samego dokumentu inaczej i niezależnie od HTML base
. W dokumencie http://www.w3.org/TR/xmlbase/#same-document jest napisane, że "Dereferencja odwołań tego samego dokumentu jest obsługiwana specjalnie.", Chociaż przyznano to w kontekście xml:base
. Przy okazji, grałem z umieszczaniem elementu na elemencie svg
w nadziei, że zastąpię ustawienie HTML base
, ponieważ nie mogłem wymyślić, jak wykonać tę pracę.
'xml: base' jest przestarzałe https://bugs.chromium.org/p/chromium/issues/detail?id=341854 –