У меня есть HTML-страница с тегом <base>
, также содержащая SVG. Ссылки на один и тот же документ, такие как приведенные ниже в SVG, затем терпят неудачу:
<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>
Ссылка xlink:href="#path"
не разрешается. Это прекрасно работает без элемента HTML base
. Это также работает, если я заменю атрибут href
в элементе textpath
абсолютным IRI, за которым следует идентификатор фрагмента.
Мне кажется, что SVG должен обрабатывать IRI одного и того же документа по-разному и независимо от HTML base
. В http://www.w3.org/TR/xmlbase/#same-document говорится «Разыменование ссылок на один и тот же документ обрабатывается особым образом», хотя это допускается в контексте xml:base
. Между прочим, я играл с добавлением xml:base
к элементу svg
в надежде переопределить настройку HTML base
, потому что не мог понять, как заставить это работать.